Пример #1
0
        public ActionResult Save(CategoryModel model)
        {
            if (model.IsNew && !CanAdd)
            {
                return GetAddDeniedResult();
            }

            if (!model.IsNew && !CanUpdate)
            {
                return GetUpdateDeniedResult();
            }

            if (model.CategoryType != CategoryType.Product && model.CategoryType != CategoryType.UOM)
            {
                ModelState.Remove("Code");
            }

            if (!ModelState.IsValid)
            {
                return JsonObject(false, GetModelStateErrors());
            }

            var entity = model.Map<CategoryModel, Category>();

            if (entity.IsNew)
            {
                entity.InitId();
            }

            var request = new SaveRequest
            {
                Entity = entity
            };

            var res = ServiceHelper.Category.ExecuteDispose(s => s.SaveCategory(request));

            if (res.Success)
            {
                var indexModel = new CategoryIndexModel();
                PopulateIndexModel(indexModel);
                return JsonObject(true, BackendMessage.SaveDataSuccess, new
                {
                    html = PartialViewToString("BaseView/Nhom/_list", indexModel)
                });
            }

            var msg = res.Messages.FirstOrDefault();

            return JsonObject(false, string.IsNullOrWhiteSpace(msg) ? BackendMessage.ErrorOccure : msg.GetServiceMessageRes());
        }