Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }