/// <summary> /// Edit a single SKU /// </summary> /// <param name="key">GUID of SKU to edit</param> /// <returns>Edit SKU view</returns> public ActionResult Edit(Guid key) { using (var context = dataContextFactory.CreateByUser()) { var vendorGuids = (from v in context.Vendors select v)//.FilterByUser(UserEntity) .Select(x => x.ObjectId).ToList(); var skuQuery = from x in context.SKUs where x.SkuId == key select x; var vendorQuery = (from x in context.Vendors select x);//.FilterByUser(UserEntity); var privateKeyQuery = from x in context.PrivateKeys where vendorGuids.Contains(x.VendorId) select x; var featureQuery = from x in context.Features where vendorGuids.Contains(x.VendorId) select x; var viewModel = new SKUEditViewModel(skuQuery.FirstOrDefault(), vendorQuery.ToList(), privateKeyQuery.ToList(), featureQuery.ToList()); return(View(viewModel)); } }
public ActionResult Edit(SKUEditViewModel viewModel) { if (ModelState.IsValid) { using (var context = dataContextFactory.CreateByUser()) { Model.SKU sku = (from x in context.SKUs where x.SkuId == viewModel.SKU.SkuId select x).FirstOrDefault(); viewModel.ToEntity(sku); //Offload adding and removing SKUFeatures to Dynamic SKU Model sku.AddFeatures(viewModel.GetNewFeatureGUIDs(sku)); sku.RemoveFeatures(viewModel.GetRemovedFeatureGUIDs(sku)); if (context.SaveChanges(CreateValidationFailed)) { return(RedirectToAction("Index")); } } } return(Edit(viewModel.SKU.SkuId)); }
/// <summary> /// Edit a single SKU /// </summary> /// <param name="key">GUID of SKU to edit</param> /// <returns>Edit SKU view</returns> public ActionResult Edit(Guid key) { using (var context = dataContextFactory.CreateByUser()) { var vendorGuids = (from v in context.Vendors select v)//.FilterByUser(UserEntity) .Select(x => x.ObjectId).ToList(); var skuQuery = from x in context.SKUs where x.SkuId == key select x; var vendorQuery = (from x in context.Vendors select x);//.FilterByUser(UserEntity); var privateKeyQuery = from x in context.PrivateKeys where vendorGuids.Contains(x.VendorId) select x; var featureQuery = from x in context.Features where vendorGuids.Contains(x.VendorId) select x; var viewModel = new SKUEditViewModel(skuQuery.FirstOrDefault(), vendorQuery.ToList(), privateKeyQuery.ToList(), featureQuery.ToList()); return View(viewModel); } }
public ActionResult Edit(SKUEditViewModel viewModel) { if (ModelState.IsValid) { using (var context = dataContextFactory.CreateByUser()) { Model.SKU sku = (from x in context.SKUs where x.SkuId == viewModel.SKU.SkuId select x).FirstOrDefault(); viewModel.ToEntity(sku); //Offload adding and removing SKUFeatures to Dynamic SKU Model sku.AddFeatures(viewModel.GetNewFeatureGUIDs(sku)); sku.RemoveFeatures(viewModel.GetRemovedFeatureGUIDs(sku)); if (context.SaveChanges(CreateValidationFailed)) return RedirectToAction("Index"); } } return Edit(viewModel.SKU.SkuId); }