예제 #1
0
        public virtual IActionResult Create(CreateMaterialModel model, bool continueEditing)
        {
            if (!_permissionService.Authorize(XrmsPermissionProvider.ManageMaterials))
            {
                return(AccessDeniedView());
            }

            if (ModelState.IsValid)
            {
                //a vendor should have access only to his materials

                /*if (_workContext.CurrentVendor != null)
                 * {
                 *  model.VendorId = _workContext.CurrentVendor.Id;
                 * }*/

                //material
                var material = model.ToEntity();
                material.CreatedOnUtc = DateTime.UtcNow;
                material.UpdatedOnUtc = DateTime.UtcNow;
                _materialService.InsertMaterial(material);

                // quantity change history
                _materialService.AddStockQuantityHistoryEntry(material, material.StockQuantity, material.StockQuantity, material.WarehouseId,
                                                              _localizationService.GetResource("Xrms.Admin.Catalog.Materials.StockQuantityHistory.Messages.Edit"));

                // activity log
                _customerActivityService.InsertActivity("AddNewMaterial", _localizationService.GetResource("Xrms.ActivityLog.AddNewMaterial"), material);

                SuccessNotification(_localizationService.GetResource("Xrms.Admin.Catalog.Materials.Notifications.Added"));

                if (continueEditing)
                {
                    //selected tab
                    SaveSelectedTabName();

                    return(RedirectToAction("Edit", new { id = material.Id }));
                }

                return(RedirectToAction("List"));
            }

            //If we got this far, something failed, redisplay form
            var viewModel = new MaterialDetailsPageViewModel();

            model.ToDetailsViewModel(viewModel);
            //viewModel.MaterialGroupInfo = model;

            // groups
            PrepareAvailableMaterialGroups(viewModel);
            // warehouses
            PrepareAvailableWarehouses(viewModel);

            return(View("~/Plugins/Xrms/Areas/Admin/Views/Material/Create.cshtml", viewModel));
        }
예제 #2
0
        public ActionResult Create()
        {
            var formConcepts     = this.materialConceptService.GetFormConcepts();
            var quantityConcepts = this.materialConceptService.GetQuantityConcepts();
            var typeConcepts     = this.materialConceptService.GetMaterialTypeConcepts();

            var language = this.HttpContext.GetCurrentLanguage();

            var model = new CreateMaterialModel
            {
                FormConcepts     = formConcepts.ToSelectList(language).ToList(),
                QuantityConcepts = quantityConcepts.ToSelectList(language).ToList(),
                TypeConcepts     = typeConcepts.ToSelectList(language).ToList()
            };

            return(View(model));
        }
예제 #3
0
        public ActionResult Create(CreateMaterialModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var materialToCreate = model.ToMaterial();

                    materialToCreate.CreatedByKey = Guid.Parse(this.User.Identity.GetUserId());

                    var material = entityService.Create(materialToCreate);

                    TempData["success"] = Locale.MaterialCreatedSuccessfully;

                    return(RedirectToAction("ViewMaterial", new { id = material.Key, versionId = material.VersionKey }));
                }
            }
            catch (Exception e)
            {
                Trace.TraceError($"Unable to create material: {e}");
            }

            var formConcepts     = this.materialConceptService.GetFormConcepts();
            var quantityConcepts = this.materialConceptService.GetQuantityConcepts();
            var typeConcepts     = this.materialConceptService.GetMaterialTypeConcepts();

            var language = this.HttpContext.GetCurrentLanguage();

            model.FormConcepts     = formConcepts.ToSelectList(language).ToList();
            model.QuantityConcepts = quantityConcepts.ToSelectList(language).ToList();
            model.TypeConcepts     = typeConcepts.ToSelectList(language).ToList();

            TempData["error"] = Locale.UnableToCreateMaterial;

            return(View(model));
        }
예제 #4
0
 public static MaterialDetailsPageViewModel ToDetailsViewModel(this CreateMaterialModel model, MaterialDetailsPageViewModel viewModel)
 {
     return(model.MapTo(viewModel));
 }
예제 #5
0
 public static Material ToEntity(this CreateMaterialModel model, Material entity)
 {
     return(model.MapTo(entity));
 }
예제 #6
0
 // from action model to entity
 public static Material ToEntity(this CreateMaterialModel model)
 {
     return(model.MapTo <CreateMaterialModel, Material>());
 }