public UserOutputDataContract GetStatusUser(long id)
        {
            UserOutputDataContract user = new UserOutputDataContract
            {
                User_Id = id,
            };

            DeudaUsuarioOutputDataContract debt = this.GetDebtByUser(id);

            if (debt == null)
            {
                return(null);
            }

            if (debt.Amount == 0)
            {
                user.State = SIN_DEUDA;
            }
            else
            {
                user.State = CON_DEUDA;
            }

            return(user);
        }
        public DeudaUsuarioOutputDataContract GetDebtByUser(long id)
        {
            IList <Cargo> cargos = this.CargoRepository.GetAll().Where(x => x.User_Id == id && x.State == StateCargo.Deuda).ToList();

            if (cargos == null)
            {
                return(null);
            }

            DeudaUsuarioOutputDataContract debt = new DeudaUsuarioOutputDataContract();

            debt.Amount = cargos.Sum(x => x.Balance);

            foreach (var cargo in cargos)
            {
                CargoOutputDataContract cargo_Output = 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,
                };

                debt.Cargos.Add(cargo_Output);
            }

            return(debt);
        }