feat(api): в сущность FIeld добавлено поле IsMultipleValue для реализации записи повторяющихся полей, как сервер приложений в компонентном составе виртуальных серверов
This commit is contained in:
@@ -10,6 +10,6 @@
|
||||
/// <summary>
|
||||
/// Соответствующее полю значение
|
||||
/// </summary>
|
||||
public required UnitFieldValueResponse Value { get; set; }
|
||||
public required List<UnitFieldValueResponse> Values { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public required string Name { get; set; }
|
||||
|
||||
public bool? IsMultipleValue { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace PARR.API.Controllers.V1
|
||||
query = query
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.FieldFilters)
|
||||
.ThenInclude(t => t.Field)
|
||||
.ThenInclude(t => t.UnitField)
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.RelationshipFilters)
|
||||
.ThenInclude(t => t.UnitField);
|
||||
@@ -126,7 +126,7 @@ namespace PARR.API.Controllers.V1
|
||||
.Include(t => t.Group)
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.FieldFilters)
|
||||
.ThenInclude(t => t.Field)
|
||||
.ThenInclude(t => t.UnitField)
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.RelationshipFilters)
|
||||
.FirstOrDefaultAsync(t => t.Id == id);
|
||||
@@ -186,7 +186,7 @@ namespace PARR.API.Controllers.V1
|
||||
.Include(t => t.Group)
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.FieldFilters)
|
||||
.ThenInclude(t => t.Field)
|
||||
.ThenInclude(t => t.UnitField)
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.RelationshipFilters)
|
||||
.FirstOrDefaultAsync(t => t.Id == job.Id);
|
||||
@@ -306,7 +306,7 @@ namespace PARR.API.Controllers.V1
|
||||
.Include(t => t.Group)
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.FieldFilters)
|
||||
.ThenInclude(t => t.Field)
|
||||
.ThenInclude(t => t.UnitField)
|
||||
.Include(t => t.UnitFilters)
|
||||
.ThenInclude(t => t.RelationshipFilters)
|
||||
.FirstAsync(t => t.Id == orig.Id);
|
||||
@@ -450,9 +450,9 @@ namespace PARR.API.Controllers.V1
|
||||
};
|
||||
}
|
||||
|
||||
private static FieldFilter CreateFieldFilter(Guid unitFilterId, Guid fieldId, string valueMask)
|
||||
private static JobFieldFilter CreateFieldFilter(Guid unitFilterId, Guid fieldId, string valueMask)
|
||||
{
|
||||
return new FieldFilter
|
||||
return new JobFieldFilter
|
||||
{
|
||||
UnitFilterId = unitFilterId,
|
||||
DateCreated = DateTimeOffset.UtcNow,
|
||||
|
||||
@@ -110,18 +110,26 @@ namespace PARR.API.MappingProfiles
|
||||
|
||||
CreateMap<UnitFieldValue, UnitFieldValueResponse>();
|
||||
|
||||
CreateMap<UnitInValue, AttributeResponse>()
|
||||
.ForMember(d => d.Field, o => o.MapFrom(s => s.Field))
|
||||
.ForMember(d => d.Value, o => o.MapFrom(s => s.Value));
|
||||
|
||||
CreateMap<Unit, UnitResponse>()
|
||||
.Include<Unit, UnitWithAttributesResponse>()
|
||||
.ForMember(d => d.Name, o => o.MapFrom(s => s.Name));
|
||||
|
||||
|
||||
CreateMap<Unit, UnitWithAttributesResponse>()
|
||||
.ForMember(d => d.Attributes, o => o.MapFrom(s => s.UnitValues!.OrderBy(s => (string.IsNullOrEmpty(s.Field!.DisplayName)) ? s.Field!.AihitName : s.Field!.DisplayName)))
|
||||
.ForMember(d => d.Childrens, o => o.MapFrom(s => s.ChildUnits.Select(t => t.ChildUnit).OrderBy(t => t.Name)))
|
||||
.ForMember(d => d.Parents, o => o.MapFrom(s => s.ParentUnits.Select(t => t.ParentUnit).OrderBy(t => t.Name)));
|
||||
.ForMember(d => d.Parents, o => o.MapFrom(s => s.ParentUnits.Select(t => t.ParentUnit).OrderBy(t => t.Name)))
|
||||
.ForMember(d => d.Attributes, o => o.MapFrom(s => s.UnitValues.GroupBy(g => g.Field)
|
||||
.Select(fieldGroup => new AttributeResponse
|
||||
{
|
||||
Field = new FieldResponse {
|
||||
Id = fieldGroup.Key!.Id,
|
||||
Name = string.IsNullOrEmpty(fieldGroup.Key.DisplayName)? fieldGroup.Key.AihitName: fieldGroup.Key.DisplayName,
|
||||
IsMultipleValue = fieldGroup.Key.IsMultipleValue
|
||||
},
|
||||
Values = fieldGroup.Select(s => new UnitFieldValueResponse { Id = s.ValueId, Value = s.Value!.Value }).ToList()
|
||||
}
|
||||
)
|
||||
));
|
||||
#endregion
|
||||
|
||||
#region WorkGroup
|
||||
@@ -307,9 +315,9 @@ namespace PARR.API.MappingProfiles
|
||||
CreateMap<JobUnitFilter, UnitFilterResponse>()
|
||||
.ForMember(d => d.UnitFilterMask, o => o.MapFrom(d => d.UnitFilter));
|
||||
|
||||
CreateMap<FieldFilter, FieldResponse>();
|
||||
CreateMap<JobFieldFilter, FieldResponse>();
|
||||
|
||||
CreateMap<FieldFilter, FieldFilterResponse>();
|
||||
CreateMap<JobFieldFilter, FieldFilterResponse>();
|
||||
|
||||
CreateMap<JobRelationshipFilter, RelationshipFilterResponse>()
|
||||
.ForMember(d => d.Field, o => o.MapFrom(s => s.UnitField));
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace PARR.API.MappingProfiles
|
||||
relationshipFilter.UnitFilterId = d.Id;
|
||||
});
|
||||
|
||||
CreateMap<FieldFilterRequest, FieldFilter>()
|
||||
CreateMap<FieldFilterRequest, JobFieldFilter>()
|
||||
.ForMember(d => d.Id, o => o.MapFrom(s => Guid.NewGuid()))
|
||||
.ForMember(d => d.DateCreated, o => o.MapFrom(s => DateTimeOffset.UtcNow));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user