/// <summary> /// Create a single SKU /// </summary> /// <returns>Create SKU view</returns> public ActionResult Create() { using (var context = dataContextFactory.CreateByUser()) { var vendorGuids = (from v in context.Vendors select v) .Select(x => x.ObjectId).ToList(); var vendorQuery = (from x in context.Vendors select x); var privateKeyQuery = from x in context.PrivateKeys where vendorGuids.Contains(x.VendorId) orderby x.DisplayName select x; var featureQuery = from x in context.Features where vendorGuids.Contains(x.VendorId) orderby x.FeatureName select x; var viewModel = new SKUCreateViewModel(vendorQuery.ToList(), privateKeyQuery.ToList(), featureQuery.ToList()); return View(viewModel); } }
public ActionResult Create(SKUCreateViewModel viewModel) { if (ModelState.IsValid) { using (var context = dataContextFactory.CreateByUser()) { var sku = viewModel.ToEntity(null); context.SKUs.Add(sku); //Offload adding SKUFeatures to Dynamic SKU Model sku.AddFeatures(viewModel.GetNewFeatureGUIDs()); if (context.SaveChanges(CreateValidationFailed)) { Flash.Success(string.Format("Sku {0} was created.", sku.SkuCode)); return RedirectToAction("Index"); } } } return Create(); }