コード例 #1
0
        public ActionResult OnPostData_Source_Products_Submit(SpreadsheetSubmitViewModel model)
        {
            var result = new SpreadsheetSubmitViewModel()
            {
                Created   = new List <Product>(),
                Updated   = new List <Product>(),
                Destroyed = new List <Product>()
            };

            if ((model.Created != null || model.Updated != null || model.Destroyed != null) && ModelState.IsValid)
            {
                if (model.Created != null)
                {
                    foreach (var created in model.Created)
                    {
                        SpreadData.Add(created);
                        result.Created.Add(created);
                    }
                }

                if (model.Updated != null)
                {
                    foreach (var updated in model.Updated)
                    {
                        var target = SpreadData.FirstOrDefault(x => x.ProductID == updated.ProductID);
                        target = updated;
                        result.Updated.Add(updated);
                    }
                }

                if (model.Destroyed != null)
                {
                    foreach (var destroyed in model.Destroyed)
                    {
                        var target = SpreadData.FirstOrDefault(x => x.ProductID == destroyed.ProductID);
                        SpreadData.Remove(target);
                        result.Destroyed.Add(destroyed);
                    }
                }

                return(new JsonResult(result));
            }
            else
            {
                return(StatusCode(400, "The models contain invalid property values."));
            }
        }
コード例 #2
0
        public ActionResult Data_Source_Products_Submit(SpreadsheetSubmitViewModel model)
        {
            var result = new SpreadsheetSubmitViewModel()
            {
                Created   = new List <SpreadsheetProductViewModel>(),
                Updated   = new List <SpreadsheetProductViewModel>(),
                Destroyed = new List <SpreadsheetProductViewModel>()
            };

            if ((model.Created != null || model.Updated != null || model.Destroyed != null) && ModelState.IsValid)
            {
                if (model.Created != null)
                {
                    foreach (var created in model.Created)
                    {
                        productService.Create(created);
                        result.Created.Add(created);
                    }
                }

                if (model.Updated != null)
                {
                    foreach (var updated in model.Updated)
                    {
                        productService.Update(updated);
                        result.Updated.Add(updated);
                    }
                }

                if (model.Destroyed != null)
                {
                    foreach (var destroyed in model.Destroyed)
                    {
                        productService.Destroy(destroyed);
                        result.Destroyed.Add(destroyed);
                    }
                }

                return(Json(result));
            }
            else
            {
                return(StatusCode(400, "The models contain invalid property values."));
            }
        }