public ActionResult Detalle(int idPago)
        {
            try
            {
                var consultapagofacturas = db.pagofacturas.Where(x => x.Pago_Id == idPago).ToList();
                var listapagofacturas    = new List <pagofacturas>();

                foreach (var item in consultapagofacturas)
                {
                    pagofacturas pagofacturas = new pagofacturas();
                    pagofacturas.factura = item.factura;
                    pagofacturas.pago    = item.pago;
                    listapagofacturas.Add(pagofacturas);
                }

                var facturasagrupadas = from pf in listapagofacturas
                                        group pf by pf.factura.proveedor.RazonSocial into g
                                        select new Group <string, pagofacturas> {
                    Key = g.Key, Values = g, TotalPagado = g.Sum(x => x.factura.Total)
                };

                return(PartialView(facturasagrupadas.ToList()));
            }
            catch (Exception)
            {
                return(null);
            }
        }
Пример #2
0
        public ActionResult PagarFactura(int?id)
        {
            try
            {
                factura factura = db.factura.FirstOrDefault(x => x.id == id);
                if (factura != null)
                {
                    if (factura.StatusFactura_Id != 2)
                    {
                        var numeroActual = db.pago.ToList().Count();
                        int numeroPago   = int.Parse(numeroActual.ToString()) + 1;

                        factura.StatusFactura_Id = 2;
                        factura.FechaPago        = DateTime.Now;

                        pago pagos = new pago();
                        pagos.Numero         = numeroPago;
                        pagos.FechaPago      = DateTime.Now;
                        pagos.FechaRegistro  = DateTime.Now;
                        pagos.AspNetUsers_Id = User.Identity.GetUserId();
                        pagos.MontoTotal     = factura.Total;
                        pagos.StatusPago_Id  = 1;
                        db.pago.Add(pagos);
                        db.SaveChanges();

                        pagofacturas pagosFacturas = new pagofacturas();
                        pagosFacturas.Factura_Id = (int)id;
                        pagosFacturas.Pago_Id    = pagos.id;
                        db.pagofacturas.Add(pagosFacturas);
                        db.SaveChanges();

                        return(Json("Success", JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json("Error", JsonRequestBehavior.AllowGet));
                    }
                }
                return(null);
            }
            catch (Exception _ex)
            {
                Console.Write(_ex.Message.ToString());
                return(Json("Error", JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult PagoFacturas(facturasCE model, string fechaPago, string totalSumar)
        {
            try
            {
                var facturasSeleccionadas = model.FacturasPorPagar.Where(x => x.IsChecked == true).ToList <factura>();
                var numeroActual          = db.pago.ToList().Count();
                int numeroPago            = int.Parse(numeroActual.ToString()) + 1;

                pago pagos = new pago();
                pagos.StatusPago_Id  = 1;
                pagos.FechaRegistro  = DateTime.Now;
                pagos.Numero         = numeroPago;
                pagos.FechaPago      = DateTime.Parse(fechaPago);
                pagos.MontoTotal     = decimal.Parse(totalSumar);
                pagos.AspNetUsers_Id = User.Identity.GetUserId();
                db.pago.Add(pagos);

                foreach (var item in facturasSeleccionadas)
                {
                    factura facturas = db.factura.Find(item.id);
                    facturas.StatusFactura_Id = 2;
                    facturas.FechaPago        = DateTime.Parse(fechaPago);

                    pagofacturas pagosFacturas = new pagofacturas();
                    pagosFacturas.Factura_Id = facturas.id;
                    pagosFacturas.Pago_Id    = pagos.id;
                    db.pagofacturas.Add(pagosFacturas);
                }
                EnviarCorreo();
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                return(null);
            }
        }