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); }