Пример #1
0
        public async Task <ProductCategoryAddResponse> Add(ProductCategoryAddRequest request)
        {
            var categoryToAdd = request.Model.MapToModel();

            categoryToAdd.FieldDefenitions?.Clear();
            categoryToAdd.FieldDefenitionGroups?.Clear();
            await BaseBeforeAddAsync(categoryToAdd, request.RequestOwner);

            await _categoryData.AddAsync(categoryToAdd);

            request.Model.FieldDefenitions.ToList().MapToModel().ForEach(x =>
            {
                x.ProductCategoryId = categoryToAdd.Id;
                _fieldDefentionFacade.PendToAdd(x);
            });
            request.Model.FieldDefenitionGroups.ToList().MapToModel().ForEach(x =>
            {
                x.ProductCategoryId = categoryToAdd.Id;
                _unitOfWork.Add(x);
            });
            await _fieldDefentionFacade.SaveChangesAsync();

            await BaseAfterAddAsync(categoryToAdd, request.RequestOwner);

            HandleMetaData(request.Model.MetaData, categoryToAdd);
            await _unitOfWork.SaveChangesAsync();

            return(new ProductCategoryAddResponse
            {
                Access = ResponseAccess.Granted,
                Category = categoryToAdd.MapToViewModel()
            });
        }
 public IHttpActionResult Post(ProductCategoryAddRequest model)
 {
     try
     {
         ItemResponse <int> response = new ItemResponse <int>
         {
             Item         = _productCategoryService.Insert(model),
             IsSuccessful = true
         };
         return(Ok(response));
     }
     catch (Exception ex) { return(BadRequest(ex.Message)); }
 }
        public int Insert(ProductCategoryAddRequest model)
        {
            int id = 0;

            Adapter.ExecuteQuery("Product_Category_Insert", new[] {
                SqlDbParameter.Instance.BuildParameter("@CategoryName", model.CategoryName, System.Data.SqlDbType.NVarChar),
                SqlDbParameter.Instance.BuildParameter("@Description", model.Description, System.Data.SqlDbType.NVarChar),
                SqlDbParameter.Instance.BuildParameter("@IsActive", model.IsActive, System.Data.SqlDbType.Bit),
                SqlDbParameter.Instance.BuildParameter("@Id", id, System.Data.SqlDbType.Int, 0, ParameterDirection.Output)
            }, (parameters =>
            {
                id = parameters.GetParmValue <int>("@Id"); //for inserts
            }));
            return(id);
        }