public RO_Retail MapToModel(RO_RetailViewModel viewModel) { RO_Retail model = new RO_Retail(); PropertyCopier <RO_RetailViewModel, RO_Retail> .Copy(viewModel, model); model.ImagesPath = viewModel.ImagesPath != null?JsonConvert.SerializeObject(viewModel.ImagesPath) : null; model.CostCalculationRetailId = viewModel.CostCalculationRetail.Id; model.CostCalculationRetail = this.CostCalculationRetailService.MapToModel(viewModel.CostCalculationRetail); model.ImagesName = JsonConvert.SerializeObject(viewModel.ImagesName); model.ColorId = viewModel.Color._id; model.ColorName = viewModel.Color.name; model.RO_Retail_SizeBreakdowns = new List <RO_Retail_SizeBreakdown>(); foreach (RO_Retail_SizeBreakdownViewModel ro_rsbVM in viewModel.RO_Retail_SizeBreakdowns) { RO_Retail_SizeBreakdown ro_rsb = this.RO_Retail_SizeBreakdownService.MapToModel(ro_rsbVM); model.RO_Retail_SizeBreakdowns.Add(ro_rsb); } var sizeQuantityTotal = viewModel.SizeQuantityTotal == null?viewModel.RO_Retail_SizeBreakdowns.FirstOrDefault().SizeQuantity : viewModel.SizeQuantityTotal; model.SizeQuantityTotal = JsonConvert.SerializeObject(sizeQuantityTotal); return(model); }
public override void OnUpdating(int id, RO_Retail model) { HashSet <int> RO_Retail_SizeBreakdowns = new HashSet <int>(this.RO_Retail_SizeBreakdownService.DbSet .Where(p => p.RO_RetailId.Equals(id)) .Select(p => p.Id)); foreach (int RO_Retail_SizeBreakdown in RO_Retail_SizeBreakdowns) { RO_Retail_SizeBreakdown childModel = model.RO_Retail_SizeBreakdowns.FirstOrDefault(prop => prop.Id.Equals(RO_Retail_SizeBreakdown)); if (childModel == null) { this.RO_Retail_SizeBreakdownService.Deleting(RO_Retail_SizeBreakdown); } else { this.RO_Retail_SizeBreakdownService.Updating(RO_Retail_SizeBreakdown, childModel); } } foreach (RO_Retail_SizeBreakdown RO_Retail_SizeBreakdown in model.RO_Retail_SizeBreakdowns) { if (RO_Retail_SizeBreakdown.Id.Equals(0)) { this.RO_Retail_SizeBreakdownService.Creating(RO_Retail_SizeBreakdown); } } base.OnUpdating(id, model); }