public void ValidateCargoUpdate_Cargo_Error()
        {
            CargoUpdateDataContract cargo_Update = new CargoUpdateDataContract()
            {
                Payment_Debt = Convert.ToDecimal(100),
                Cargo_Id     = 0,
            };

            Assert.AreEqual(this.CargoUpdateDataContractValidator.Validate(cargo_Update).IsValid, false);
        }
        public void ValidateCargoUpdate_Ok()
        {
            CargoUpdateDataContract cargo_Update = new CargoUpdateDataContract()
            {
                Payment_Debt = Math.Round(105.60m, 2),
                Cargo_Id     = 1,
            };

            Assert.AreEqual(this.CargoUpdateDataContractValidator.Validate(cargo_Update).IsValid, true);
        }
Esempio n. 3
0
        public bool CheckExistCargo(CargoUpdateDataContract cargo_Update)
        {
            Cargo cargo = this.CargoRepository.GetById(cargo_Update.Cargo_Id);

            if (cargo == null)
            {
                return(false);
            }

            return(true);
        }
Esempio n. 4
0
        public bool CheckStateCargo(CargoUpdateDataContract cargo_Update)
        {
            Cargo cargo = this.CargoRepository.GetById(cargo_Update.Cargo_Id);

            if (cargo.State == StateCargo.Deuda)
            {
                return(true);
            }

            return(false);
        }
Esempio n. 5
0
        public IList <string> GetErrorsCheckCargoUpdate(CargoUpdateDataContract cargo)
        {
            IList <string> errors = new List <string>();

            var validationResult = this.CargoUpdateDataContractValidator.Validate(cargo);

            foreach (var error in validationResult.Errors)
            {
                errors.Add(error.ToString());
            }

            return(errors);
        }
Esempio n. 6
0
        private async Task <bool> UpdateCargo(Constancia constancia)
        {
            CargoUpdateDataContract cargo_Update = new CargoUpdateDataContract()
            {
                Cargo_Id     = constancia.Cargo_Id,
                Payment_Debt = constancia.Amount,
            };

            string uri    = this.AppSettings.Value.UrlAPICargos;
            string action = "api/Cargos";

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(uri);

                var putTask = await client.PutAsJsonAsync(action, cargo_Update);

                return((putTask.IsSuccessStatusCode) ? true : false);
            }
        }
        public IActionResult Put(CargoUpdateDataContract input)
        {
            if (!this.CargoService.CheckFormatCargoUpdate(input))
            {
                var errors = this.CargoService.GetErrorsCheckCargoUpdate(input);
                return(BadRequest(errors));
            }

            if (!this.CargoService.CheckExistCargo(input))
            {
                return(NotFound($"No existe cargo con id: {input.Cargo_Id}"));
            }

            if (!this.CargoService.CheckStateCargo(input))
            {
                return(BadRequest($"No existe deuda para el cargo con id: {input.Cargo_Id}"));
            }

            var output = this.CargoService.UpdateCargo(input);

            return(Ok(output));
        }
Esempio n. 8
0
        public CargoOutputDataContract UpdateCargo(CargoUpdateDataContract cargo_Update)
        {
            Cargo cargo = this.CargoRepository.GetById(cargo_Update.Cargo_Id);

            cargo.Balance -= cargo_Update.Payment_Debt;

            if (cargo.Balance == 0)
            {
                cargo.State = StateCargo.Pagado;
            }

            this.CargoRepository.Update(cargo);

            return(new CargoOutputDataContract()
            {
                Cargo_Id = cargo.Id,
                Amount = cargo.Amount,
                Balance = cargo.Balance,
                State = cargo.State.ToString(),
                Type = cargo.Type.ToString(),
                User_Id = cargo.User_Id,
            });
        }
Esempio n. 9
0
 public bool CheckFormatCargoUpdate(CargoUpdateDataContract cargo)
 {
     return(this.CargoUpdateDataContractValidator.Validate(cargo).IsValid);
 }