Beispiel #1
0
        /// <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));
            }
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        /// <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);
            }
        }
Beispiel #4
0
        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);
        }