Пример #1
0
        public async Task ShouldUpdateSupplier()
        {
            var supplierId = Guid.NewGuid();
            var model      = new SupplierRequestModel()
            {
                cpnj          = "85.224.941/0001-61",
                TradingName   = "Great bar",
                Email         = "*****@*****.**",
                Address       = new Address("Rua amazonas", "bairro joaonese", "marilandia", "SC", 102),
                CorporateName = "Joazinho carlos ltda",
                Telephone     = "(47)99620-7702"
            };
            var supplier = new SupplierBuilder()
                           .Withcpnj("85.224.941/0001-61")
                           .WithEmail(new Email("*****@*****.**"))
                           .WithAdress(new Address("Rua amazonas", "bairro joaonese", "marilandia", "SC", 102))
                           .WithTradingName("Joao joazito")
                           .WithCorporateName("Joazinho carlos ltda")
                           .WithTelephone(new Telephone("(47)99620-7702"))
                           .Construct();

            _supplierRepository
            .GetById(supplierId)
            .Returns(supplier);

            await _supplierService
            .Update(supplierId, model);

            await _supplierRepository
            .Received(1)
            .Update(Arg.Is <Supplier>(x => x.TradingName == "Great bar"));
        }
Пример #2
0
        public async Task ShouldFailWhenCnpjInvalid(string cpnj, string corporateName, string tradingName,
                                                    string telephone, string email)
        {
            var adressModel = new Address("Rua amazonas", "bairro joaonese", "marilandia", "SAO PAULO", 102);
            var supplier    = new SupplierRequestModel
            {
                Telephone     = telephone,
                Email         = email,
                Address       = adressModel,
                CorporateName = corporateName,
                cpnj          = cpnj,
                TradingName   = tradingName
            };
            var serializedSupplier = JsonConvert.SerializeObject(supplier);

            var response = await _client.PostAsync("/api/supplier",
                                                   new StringContent(serializedSupplier, Encoding.UTF8, "application/json"));

            var jsonResult = await response.Content.ReadAsStringAsync();

            var validationErrorMessage = JsonConvert.
                                         DeserializeObject <List <ValidationErrorResponse> >(jsonResult);

            Assert.True(validationErrorMessage[0]._Message == "Senha deve ter entre 8 e 20 caracteres");
        }
        public async Task <SupplierResponseModel> Update(int id, SupplierRequestModel supplierRequestModel)
        {
            try
            {
                bool supplierChecked = await _repository.OtherCNPJ(id, supplierRequestModel.CNPJ);

                if (supplierChecked)
                {
                    throw new ServicesException(EXCEPTION_IT_EXISTS);
                }

                Supplier supplier = await SupplierGet(id);

                supplier.Update(
                    supplierRequestModel.CompanyName,
                    supplierRequestModel.CNPJ,
                    supplierRequestModel.Trade,
                    CreateAddress(supplierRequestModel.Address),
                    supplierRequestModel.ContactEmail,
                    supplierRequestModel.Telephone);

                supplier.Validate();

                await _repository.Update(supplier);

                return(CreateResponse(supplier));
            }
            catch (Exception ex)
            {
                throw new ServicesException(EXEPTION_COMUNICATION_ERROR, ex);
            }
        }
Пример #4
0
        public async Task ShouldCreateSupplier(string cpnj, string corporateName, string tradingName,
                                               string telephone, string email)
        {
            var adressModel = new Address("Rua amazonas", "bairro joaonese", "marilandia", "SC", 102);
            var userId      = Guid.NewGuid();
            var model       = new SupplierRequestModel()
            {
                cpnj          = cpnj,
                CorporateName = corporateName,
                TradingName   = tradingName,
                Telephone     = telephone,
                Address       = adressModel,
                Email         = email
            };

            await _supplierService.Create(model);

            await _supplierRepository
            .Received(1)
            .Create(Arg.Is <Supplier>(x => x.TradingName == tradingName &&
                                      x.CorporateName == corporateName &&
                                      x.Telephone.ToString() == telephone &&
                                      x.Email.ToString() == email &&
                                      x.cpnj == cpnj &&
                                      x.Address == adressModel
                                      ));
        }
        public async Task <SupplierResponseModel> Create(SupplierRequestModel supplierRequestModel)
        {
            try
            {
                bool supplierChecked = await _repository.ItExists(supplierRequestModel.CNPJ);

                if (supplierChecked)
                {
                    throw new ServicesException(EXCEPTION_IT_EXISTS);
                }

                var supplier = new Supplier(
                    supplierRequestModel.CompanyName,
                    supplierRequestModel.CNPJ,
                    supplierRequestModel.Trade,
                    CreateAddress(supplierRequestModel.Address),
                    supplierRequestModel.ContactEmail,
                    supplierRequestModel.Telephone);

                supplier.Validate();
                await _repository.Create(supplier);

                var supplierResponse = CreateResponse(supplier);
                return(supplierResponse);
            }
            catch (Exception ex)
            {
                throw new ServicesException(EXEPTION_COMUNICATION_ERROR, ex);
            }
        }
Пример #6
0
        // GET: Supplier
        public ActionResult Index(string KeySearch, int page = 1, int pageSize = 10)
        {
            SupplierRequestModel model = new SupplierRequestModel();

            model = _supRepo.GetAllSupplier(KeySearch, page, pageSize);
            return(View(model));
        }
        public async Task <IActionResult> CreateNewSupplier([FromBody] SupplierRequestModel supplierRequestModel)
        {
            var result = await CommandRouter.RouteAsync <CreateSupplierCommand, IdResponse>(
                new CreateSupplierCommand(supplierRequestModel.Email,
                                          supplierRequestModel.Telephone, supplierRequestModel.Name));

            return(!result.IsSuccessful ? Conflict(result) : new ObjectResult(result));
        }
Пример #8
0
        public ActionResult Put(int id, [FromBody] SupplierRequestModel supplier)
        {
            if (id < 0 || supplier == null)
            {
                return(BadRequest());
            }

            service.CloseOrderBuy(id, supplier.Name);
            return(Ok());
        }
Пример #9
0
        public async Task Create(SupplierRequestModel request)
        {
            var supplier = new Supplier(request.CorporateName, request.cpnj, request.TradingName,
                                        request.Email, request.Telephone, request.Address);

            if (supplier.Invalid)
            {
                _notificationService.AddEntityNotifications(supplier.ValidationResult);
                return;
            }
            await _supplierRepository.Create(supplier);
        }
Пример #10
0
        public async Task Update(Guid id, SupplierRequestModel request)
        {
            var supplier = await _supplierRepository.GetById(id);

            if (supplier is null)
            {
                _notificationService.AddNotification("SupplierUpdateError", "Fornecedor não encontrado");
                return;
            }
            supplier.Update(request.CorporateName, request.cpnj, request.TradingName, request.Email, request.Telephone, request.Address);
            if (supplier.Invalid)
            {
                _notificationService.AddEntityNotifications(supplier.ValidationResult);
            }
            await _supplierRepository.Update(supplier);
        }
Пример #11
0
        public SupplierRequestModel GetAllSupplier(string KeySearch, int page, int pageSize)
        {
            SupplierRequestModel request = new SupplierRequestModel();
            List <Supplier>      lst     = new List <Supplier>();

            lst              = db.Suppliers.Where(x => x.IsDeleted == 0).ToList();
            request.page     = page;
            request.pageSize = pageSize;

            int startRow = (page - 1) * pageSize;

            if (!string.IsNullOrEmpty(KeySearch))
            {
                request.totalRecord = lst.Where(x => x.SupplierCode.Contains(KeySearch) || x.SupplierName.Contains(KeySearch)).ToList().Count;
                request.data        = lst.Where(x => x.SupplierCode.Contains(KeySearch) || x.SupplierName.Contains(KeySearch)).OrderBy(x => x.ModifyDate).Skip(startRow).Take(pageSize).ToList();
            }
            else
            {
                request.totalRecord = lst.Count;
                request.data        = lst.OrderBy(x => x.ModifyDate).Skip(startRow).Take(pageSize).ToList();
            }

            int totalPage = 0;

            if (request.totalRecord % pageSize == 0)
            {
                totalPage = request.totalRecord / pageSize;
            }
            else
            {
                totalPage = request.totalRecord / pageSize + 1;
            }
            request.totalPage = totalPage;
            request.KeyWord   = KeySearch;
            return(request);
        }
        public async Task <IActionResult> UpdateSupplier(Guid id, [FromBody] SupplierRequestModel supplierRequestModel)
        {
            var supplier = await QueryRouter.QueryAsync <GetSupplierById, Supplier>(new GetSupplierById(id));

            if (String.IsNullOrEmpty(supplierRequestModel.Name))
            {
                supplierRequestModel.Name = supplier.Name;
            }
            if (String.IsNullOrEmpty(supplierRequestModel.Email))
            {
                supplierRequestModel.Email = supplier.Email;
            }
            if (supplierRequestModel.Telephone == 0)
            {
                supplierRequestModel.Telephone = supplier.Telephone;
            }

            var result = await CommandRouter.RouteAsync <UpdateSupplierCommand, IdResponse>(
                new UpdateSupplierCommand(supplierRequestModel.Email, supplierRequestModel.Telephone,
                                          supplierRequestModel.Name, id)
                );

            return(!result.IsSuccessful ? Conflict(result) : new ObjectResult(result));
        }
        public async Task <IActionResult> Update([FromRoute] Guid id, [FromBody] SupplierRequestModel request)
        {
            await _supplierService.Update(id, request);

            return(Accepted());
        }
        public async Task <IActionResult> Create([FromBody] SupplierRequestModel request)
        {
            await _supplierService.Create(request);

            return(Accepted());
        }