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));
        }
Example #2
0
        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));
        }
Example #4
0
        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);
        }
Example #5
0
        /// <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);
        }