Updated applicationInstance for sectionEvent in dto
This commit is contained in:
parent
8f16f1570f
commit
e70b574091
@ -48,9 +48,9 @@ namespace ManagerService.Controllers
|
||||
{
|
||||
try
|
||||
{
|
||||
List<ApplicationInstance> applicationInstances = _myInfoMateDbContext.ApplicationInstances.Where(ai => ai.InstanceId == instanceId).ToList();
|
||||
List<ApplicationInstance> applicationInstances = _myInfoMateDbContext.ApplicationInstances.Include(s => s.SectionEvent).Where(ai => ai.InstanceId == instanceId).ToList();
|
||||
|
||||
return new OkObjectResult(applicationInstances.Select(ai => ai.ToDTO()).OrderBy(c => c.appType));
|
||||
return new OkObjectResult(applicationInstances.Select(ai => ai.ToDTO(_myInfoMateDbContext)).OrderBy(c => c.appType));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -82,7 +82,7 @@ namespace ManagerService.Controllers
|
||||
|
||||
_myInfoMateDbContext.SaveChanges();
|
||||
|
||||
return new OkObjectResult(applicationInstance.ToDTO());
|
||||
return new OkObjectResult(applicationInstance.ToDTO(_myInfoMateDbContext));
|
||||
}
|
||||
catch (ArgumentNullException ex)
|
||||
{
|
||||
@ -114,7 +114,7 @@ namespace ManagerService.Controllers
|
||||
if (updatedApplicationInstanceDTO == null)
|
||||
throw new ArgumentNullException("application instance param is null");
|
||||
|
||||
ApplicationInstance applicationInstance = _myInfoMateDbContext.ApplicationInstances.FirstOrDefault(ai => ai.Id == updatedApplicationInstanceDTO.id);
|
||||
ApplicationInstance applicationInstance = _myInfoMateDbContext.ApplicationInstances.Include(s => s.SectionEvent).FirstOrDefault(ai => ai.Id == updatedApplicationInstanceDTO.id);
|
||||
|
||||
if (applicationInstance == null)
|
||||
throw new KeyNotFoundException("application instance does not exist");
|
||||
@ -122,7 +122,7 @@ namespace ManagerService.Controllers
|
||||
applicationInstance = applicationInstance.FromDTO(updatedApplicationInstanceDTO);
|
||||
_myInfoMateDbContext.SaveChanges();
|
||||
|
||||
return new OkObjectResult(applicationInstance.ToDTO());
|
||||
return new OkObjectResult(applicationInstance.ToDTO(_myInfoMateDbContext));
|
||||
}
|
||||
catch (ArgumentNullException ex)
|
||||
{
|
||||
|
||||
@ -78,7 +78,7 @@ namespace ManagerService.Controllers
|
||||
|
||||
var applicationInstances = _myInfoMateDbContext.ApplicationInstances.Where(ai => ai.InstanceId == instance.Id).ToList();
|
||||
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO()).ToList()));
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO(_myInfoMateDbContext)).ToList()));
|
||||
}
|
||||
catch (KeyNotFoundException ex)
|
||||
{
|
||||
@ -125,7 +125,7 @@ namespace ManagerService.Controllers
|
||||
|
||||
var applicationInstances = _myInfoMateDbContext.ApplicationInstances.Where(ai => ai.InstanceId == instance.Id).ToList();
|
||||
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO()).ToList()));
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO(_myInfoMateDbContext)).ToList()));
|
||||
}
|
||||
catch (ArgumentNullException ex)
|
||||
{
|
||||
@ -173,7 +173,7 @@ namespace ManagerService.Controllers
|
||||
|
||||
var applicationInstances = _myInfoMateDbContext.ApplicationInstances.Where(ai => ai.InstanceId == instance.Id).ToList();
|
||||
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO()).ToList()));
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO(_myInfoMateDbContext)).ToList()));
|
||||
}
|
||||
catch (ArgumentNullException ex)
|
||||
{
|
||||
@ -210,7 +210,7 @@ namespace ManagerService.Controllers
|
||||
|
||||
var applicationInstances = _myInfoMateDbContext.ApplicationInstances.Where(ai => ai.InstanceId == instance.Id).ToList();
|
||||
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO()).ToList()));
|
||||
return new OkObjectResult(instance.ToDTO(applicationInstances.Select(ai => ai.ToDTO(_myInfoMateDbContext)).ToList()));
|
||||
}
|
||||
catch (KeyNotFoundException ex)
|
||||
{
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
using ManagerService.Data.SubSection;
|
||||
using ManagerService.DTOs;
|
||||
using ManagerService.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
|
||||
namespace ManagerService.Data
|
||||
{
|
||||
@ -47,8 +47,16 @@ namespace ManagerService.Data
|
||||
public SectionEvent? SectionEvent { get; set; } // => To Display in large a event with countdown (in mobile app).
|
||||
|
||||
|
||||
public ApplicationInstanceDTO ToDTO()
|
||||
public ApplicationInstanceDTO ToDTO(MyInfoMateDbContext myInfoMateDbContext)
|
||||
{
|
||||
SectionEventDTO sectionEventDTO = null;
|
||||
|
||||
if (SectionEventId != null)
|
||||
{
|
||||
SectionEvent = myInfoMateDbContext.Sections.OfType<SectionEvent>().FirstOrDefault(s => s.Id == SectionEventId);
|
||||
sectionEventDTO = SectionEvent != null ? SectionFactory.ToDTO(SectionEvent) as SectionEventDTO : null;
|
||||
}
|
||||
|
||||
return new ApplicationInstanceDTO()
|
||||
{
|
||||
id = Id,
|
||||
@ -64,7 +72,7 @@ namespace ManagerService.Data
|
||||
layoutMainPage = LayoutMainPage,
|
||||
languages = Languages,
|
||||
sectionEventId = SectionEventId,
|
||||
sectionEventDTO = SectionEvent != null ? SectionFactory.ToDTO(SectionEvent) as SectionEventDTO : null
|
||||
sectionEventDTO = sectionEventDTO
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -56,11 +56,16 @@ namespace ManagerService.Data
|
||||
v => JsonSerializer.Serialize(v, options),
|
||||
v => JsonSerializer.Deserialize<List<TranslationDTO>>(v, options));
|
||||
|
||||
modelBuilder.Entity<Section>()
|
||||
.Property<string>("Discriminator")
|
||||
.HasMaxLength(50);
|
||||
|
||||
modelBuilder.Entity<Section>()
|
||||
.HasDiscriminator<string>("Discriminator")
|
||||
.HasValue<Section>("Base")
|
||||
.HasValue<SectionAgenda>("Agenda")
|
||||
.HasValue<SectionArticle>("Article")
|
||||
.HasValue<SectionEvent>("Event")
|
||||
.HasValue<SectionMap>("Map")
|
||||
.HasValue<SectionMenu>("Menu")
|
||||
.HasValue<SectionPdf>("PDF")
|
||||
|
||||
1231
ManagerService/Migrations/20251017193158_AddedSectionEventDiscriminator.Designer.cs
generated
Normal file
1231
ManagerService/Migrations/20251017193158_AddedSectionEventDiscriminator.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,38 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace ManagerService.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AddedSectionEventDiscriminator : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "Discriminator",
|
||||
table: "Sections",
|
||||
type: "character varying(50)",
|
||||
maxLength: 50,
|
||||
nullable: false,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "character varying(13)",
|
||||
oldMaxLength: 13);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "Discriminator",
|
||||
table: "Sections",
|
||||
type: "character varying(13)",
|
||||
maxLength: 13,
|
||||
nullable: false,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "character varying(50)",
|
||||
oldMaxLength: 50);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -335,8 +335,8 @@ namespace ManagerService.Migrations
|
||||
|
||||
b.Property<string>("Discriminator")
|
||||
.IsRequired()
|
||||
.HasMaxLength(13)
|
||||
.HasColumnType("character varying(13)");
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("character varying(50)");
|
||||
|
||||
b.Property<string>("ImageId")
|
||||
.HasColumnType("text");
|
||||
@ -837,7 +837,7 @@ namespace ManagerService.Migrations
|
||||
b.Property<DateTime>("StartDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.HasDiscriminator().HasValue("SectionEvent");
|
||||
b.HasDiscriminator().HasValue("Event");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ManagerService.Data.SubSection.SectionMap", b =>
|
||||
|
||||
@ -188,7 +188,7 @@ namespace ManagerService
|
||||
app.UseCors(
|
||||
#if DEBUG
|
||||
options => options
|
||||
.SetIsOriginAllowed(origin => string.IsNullOrEmpty(origin) || origin == "http://localhost:59952")
|
||||
.SetIsOriginAllowed(origin => string.IsNullOrEmpty(origin) || origin == "http://localhost:57209")
|
||||
.AllowAnyMethod()
|
||||
.AllowAnyHeader()
|
||||
.AllowCredentials()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user