Пример #1
0
        // GET: Pagoes
        public ActionResult Index()
        {
            var pagos = (from p in db.Pagos
                         where p.Estado == 1
                         orderby p.Total descending
                         select p).ToList();

            var pagosMora = (from p in db.Pagos
                             join m in db.MoraClientes on p.ClienteId equals m.ClienteId
                             where m.Estado == 1
                             select m).ToList();

            var pagos_pendientes = new List <PagosView>();

            foreach (var item in pagos)
            {
                var pago = new PagosView
                {
                    Id               = item.Id,
                    Lectura_Id       = item.Lectura_Id,
                    ClienteId        = item.ClienteId,
                    Numero_Factura   = Convert.ToInt32(item.Numero_Factura),
                    Lectura_Anterior = item.Lectura_Anterior,
                    Lectura_Actual   = item.Lectura_Actual,
                    Consumo          = item.Consumo,
                    Cuota_Fija       = item.Cuota_Fija,
                    Mes_Atrasado     = item.Mes_Atrasado,
                    Mora             = item.Mora,
                    Total            = item.Total,
                    Fecha_Lectura    = item.Fecha_Lectura,
                    Fecha_Pago       = Convert.ToDateTime(item.Fecha_Pago),
                    Estado           = item.Estado,
                    Fecha_Registro   = item.Fecha_Registro,
                    NombreCliente    = item.Cliente.Nombre_Completo
                };

                var existe = (from p in pagos_pendientes
                              where p.ClienteId == item.ClienteId
                              select p).FirstOrDefault();

                var existeMora = (from m in pagosMora
                                  where m.Idpago == item.Id && m.Estado == 1
                                  select m).FirstOrDefault();
                if (existe == null && existeMora == null)
                {
                    pagos_pendientes.Add(pago);
                }
            }

            return(View(pagos_pendientes.ToList()));
        }
Пример #2
0
        // GET: Pagoes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Pago pago = db.Pagos.Find(id);

            PagosView pagosfecha = new PagosView();

            var fechaPago = (from fp in db.Tbl_Fechas
                             where fp.Mes == DateTime.Now.Month && fp.Anio == DateTime.Now.Year
                             select fp.Fecha_Pago).FirstOrDefault();

            var fechaVencimiento = (from fp in db.Tbl_Fechas
                                    where fp.Mes == DateTime.Now.Month && fp.Anio == DateTime.Now.Year
                                    select fp.Fecha_Vencimiento).FirstOrDefault();

            pagosfecha.Id                = pago.Id;
            pagosfecha.Lectura_Id        = pago.Lectura_Id;
            pagosfecha.ClienteId         = pago.ClienteId;
            pagosfecha.Numero_Factura    = Convert.ToInt32(pago.Numero_Factura);
            pagosfecha.Lectura_Anterior  = pago.Lectura_Anterior;
            pagosfecha.Lectura_Actual    = pago.Lectura_Actual;
            pagosfecha.Consumo           = pago.Consumo;
            pagosfecha.Cuota_Fija        = pago.Cuota_Fija;
            pagosfecha.Mes_Atrasado      = pago.Mes_Atrasado;
            pagosfecha.Mora              = pago.Mora;
            pagosfecha.Total             = pago.Total;
            pagosfecha.Fecha_Lectura     = pago.Fecha_Lectura;
            pagosfecha.Estado            = pago.Estado;
            pagosfecha.Fecha_Registro    = pago.Fecha_Registro;
            pagosfecha.Fecha_Pago        = Convert.ToDateTime(fechaPago);
            pagosfecha.Fecha_Vencimiento = Convert.ToDateTime(fechaVencimiento);
            pagosfecha.NombreCliente     = pago.Cliente.Nombre_Completo;
            if (pago == null)
            {
                return(HttpNotFound());
            }
            return(View(pagosfecha));
        }
Пример #3
0
        public ActionResult GenerarMora()
        {
            var pagos = (from p in db.Pagos
                         where p.Estado == 1
                         orderby p.Total descending
                         select p).ToList();

            var pagosMora = (from p in db.Pagos
                             join m in db.MoraClientes on p.ClienteId equals m.ClienteId
                             where m.Estado == 1
                             select m).ToList();

            var pagos_pendientes = new List <PagosView>();

            foreach (var item in pagos)
            {
                var pago = new PagosView
                {
                    Id               = item.Id,
                    Lectura_Id       = item.Lectura_Id,
                    ClienteId        = item.ClienteId,
                    Numero_Factura   = Convert.ToInt32(item.Numero_Factura),
                    Lectura_Anterior = item.Lectura_Anterior,
                    Lectura_Actual   = item.Lectura_Actual,
                    Consumo          = item.Consumo,
                    Cuota_Fija       = item.Cuota_Fija,
                    Mes_Atrasado     = item.Mes_Atrasado,
                    Mora             = item.Mora,
                    Total            = item.Total,
                    Fecha_Lectura    = item.Fecha_Lectura,
                    Fecha_Pago       = Convert.ToDateTime(item.Fecha_Pago),
                    Estado           = item.Estado,
                    Fecha_Registro   = item.Fecha_Registro,
                    NombreCliente    = item.Cliente.Nombre_Completo
                };

                var existe = (from p in pagos_pendientes
                              where p.ClienteId == item.ClienteId
                              select p).FirstOrDefault();

                var existeMora = (from m in pagosMora
                                  where m.Idpago == item.Id && m.Estado == 1
                                  select m).FirstOrDefault();
                if (existe == null && existeMora == null)
                {
                    pagos_pendientes.Add(pago);
                }
            }

            var pagoMora = (from p in db.Configuraciones
                            select p.Mora).FirstOrDefault();

            foreach (var pago in pagos_pendientes)
            {
                var moraCliente = (from m in db.MoraClientes
                                   where m.ClienteId == pago.ClienteId && m.Estado == 1
                                   select m).FirstOrDefault();
                if (moraCliente != null)
                {
                    int meses = Convert.ToInt32(moraCliente.Meses);
                    moraCliente.Meses           = meses + 1;
                    db.Entry(moraCliente).State = EntityState.Modified;
                    db.SaveChanges();
                }
                else
                {
                    MoraCliente mora = new MoraCliente();
                    mora.ClienteId      = pago.ClienteId;
                    mora.Meses          = 1;
                    mora.Total          = pagoMora;
                    mora.Estado         = 1;
                    mora.Fecha_Registro = DateTime.Now;
                    mora.Idpago         = pago.Id;

                    db.MoraClientes.Add(mora);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index"));
        }