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.")); } }
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.")); } }