public IHttpActionResult Post( [FromUri] CreateSupplierRequest request, [FromBody] CreateSupplierPayload supplierPayload) { if (!ModelState.IsValid) { return(BadRequestWithErrors()); } request.Payload = supplierPayload; request.OrganizationUserId = Credential.OrganizationUserId; var result = _createSupplierRequestProcessor.Process(request); return(Ok(result)); }
public CreateSupplierResponse CreateSupplier(CreateSupplierRequest request) { CreateSupplierResponse response = new CreateSupplierResponse(); Supplier supplier = new Supplier(); supplier.CompanyName = request.CompanyName; supplier.ContactName = request.ContactName; supplier.ContactTitle = request.ContactTitle; supplier.Address = request.Address; supplier.City = request.City; supplier.Region = request.Region; supplier.PostalCode = request.PostalCode; supplier.Country = request.Country; supplier.Phone = request.Phone; supplier.Fax = request.Fax; supplier.HomePage = request.HomePage; supplier.Products = request.Products.ConvertToProducts(); if (supplier.GetBrokenRules().Count() > 0) { response.Errors = supplier.GetBrokenRules().ToList(); } else { try { _supplierRepository.Add(supplier); _uow.Commit(); response.Errors = new List <BusinessRule>(); } catch (Exception ex) { List <BusinessRule> errors = new List <BusinessRule>(); do { errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message)); ex = ex.InnerException; } while (ex != null); response.Errors = errors; } } return(response); }
public JsonResult Create(SupplierDetailView vm) { CreateSupplierRequest request = new CreateSupplierRequest(); request.CompanyName = vm.CompanyName; request.ContactName = vm.ContactName; request.ContactTitle = vm.ContactTitle; request.Address = vm.Address; request.City = vm.City; request.Region = vm.Region; request.PostalCode = vm.PostalCode; request.Country = vm.Country; request.Phone = vm.Phone; request.Fax = vm.Fax; request.HomePage = vm.HomePage; CreateSupplierResponse response = _supplierService.CreateSupplier(request); return(Json(response)); }
public CreateSupplierResult CreateSupplier(CreateSupplierRequest request) { var result = new CreateSupplierResult(); try { result.Errors.AddRange(ValidateSupplierNameRequired(request.SupplierName)); result.Errors.AddRange(ValidateSupplierNameMaxLength(request.SupplierName)); result.Errors.AddRange(ValidateCompanyCodeRequired(request.CompanyCode)); result.Errors.AddRange(CompanyService.ValidateCompanyExist(request.CompanyCode)); result.Errors.AddRange(ValidateSupplierCodeRequired(request.SupplierCode)); result.Errors.AddRange(ValidateSupplierCodeMaxLength(request.SupplierCode)); result.Errors.AddRange(ValidateDuplicateSupplier(request.SupplierCode, request.CompanyCode)); if (result.Errors.Any()) { return(result); } var company = CompanyService.GetCompany(request.CompanyCode); var newSupplier = new Supplier { SupplierCode = request.SupplierCode.ToUpper().Trim(), SupplierName = request.SupplierName.Trim(), CompanyId = company.CompanyId, CreatedDateUtc = DateTime.UtcNow, ModifiedDateUtc = DateTime.UtcNow }; UoW.Suppliers.Add(newSupplier); UoW.Save(); result.Success = true; } catch (Exception e) { result.Success = false; result.Errors.Add(new ExceptionError(e.Message)); } return(result); }
/// <summary> /// Produces new suppliers and add them to data source /// </summary> /// <param name="count">how many suppliers will be created</param> public void GenerateSuppliers(int count) { CreateSupplierRequest request = PrepareCreateSupplierRequest(count); _supplierService.CreateSupplier(request); }