public override BUSControlUP DataToBusiness(ControlUP dataEntity, TContext context) { BUSControlUP businessEntity = base.DataToBusiness(dataEntity, context); businessEntity.ControlId = dataEntity.ControlId; businessEntity.Control = context.Controls.FirstOrDefault(i => i.Id == businessEntity.ControlId); return(businessEntity); }
public override ControlUP BusinessToData(ControlUP controlUP, BUSControlUP businessEntity, TContext context, bool NewRecord) { ControlUP dataEntity = base.BusinessToData(controlUP, businessEntity, context, NewRecord); dataEntity.Control = businessEntity.Control; dataEntity.ControlId = businessEntity.ControlId; return(dataEntity); }
public override BUSControlUP UIToBusiness(UIControlUP UIEntity, TContext context, IViewInfo viewInfo, bool isNewRecord) { BUSControlUP businessEntity = base.UIToBusiness(UIEntity, context, viewInfo, isNewRecord); Control control = context.Controls .AsNoTracking() .Select(a => new { id = a.Id, name = a.Name, controlUPs = a.ControlUPs.Select(controlUP => new { id = controlUP.Id, name = controlUP.Name }) }) .Select(a => new Control { Id = a.id, Name = a.name, ControlUPs = a.controlUPs.Select(controlUP => new ControlUP { Id = controlUP.id, Name = controlUP.name }).ToList() }) .FirstOrDefault(i => i.Id.ToString() == ComponentsRecordsInfo.GetSelectedRecord("Control")); if (control == null) { businessEntity.ErrorMessage = "First you need create control."; } else { // Если запись новая и она не уникальна, записывается ошибка ControlUP controlUP = control.ControlUPs?.FirstOrDefault(n => n.Name == UIEntity.Name); if (controlUP != null && controlUP.Id != UIEntity.Id) { businessEntity.ErrorMessage = $"Control user property with this name is already exists in control {control.Name}."; } else { businessEntity.Control = control; businessEntity.ControlId = control.Id; } } return(businessEntity); }