public ActionResult ReporteGastosGeneralesPrint(ReporteGastosGeneralesViewModel vVM) { vVM.FechaHasta = vVM.FechaHasta.AddDays(1); var MovimientosDeEfectivoDelPeriodo = _movimientosEfectivoServicios.GetAllBySucursalRangoFecha(sucID, vVM.FechaDesde, vVM.FechaHasta); var PagosDelPeriodo = _pagosServicios.GetAllBySucursalRangoFechas(sucID, vVM.FechaDesde, vVM.FechaHasta); //Por cada día instancio un detalleVM var dias = (vVM.FechaHasta - vVM.FechaDesde).Days; for (int i = 0; i < dias; i++) { ReporteGastosGeneralesDetalleViewModel detalleVM = new ReporteGastosGeneralesDetalleViewModel(); detalleVM.Fecha = vVM.FechaDesde.AddDays(i); var MovimientosDeEfectivoDelDia = MovimientosDeEfectivoDelPeriodo.Where(x => x.Fecha.Date == detalleVM.Fecha.Date).ToList(); var PagosDelDia = PagosDelPeriodo.Where(x => x.Venta.FechaVenta.Date == detalleVM.Fecha.Date).ToList(); detalleVM.TotalGastos = MovimientosDeEfectivoDelDia.Where(x => x.TipoMovimiento.Categoria.Nombre == "Proveedores" || x.TipoMovimiento.Categoria.Nombre == "Varios" && x.TipoMovimiento.Suma == false).Sum(x => x.Monto); detalleVM.TotalSueldos = MovimientosDeEfectivoDelDia.Where(x => x.TipoMovimiento.Categoria.Nombre == "Sueldos").Sum(x => x.Monto); detalleVM.TotalVentasEfectivo = PagosDelDia.Where(x => x.FormaDePago.Nombre == "Efectivo").Sum(x => x.Monto); detalleVM.TotalIngresosPorTarjeta = MovimientosDeEfectivoDelDia.Where(x => x.TipoMovimiento.Categoria.Nombre == "Ingresos por Tarjeta").Sum(x => x.Monto); vVM.Detalle.Add(detalleVM); } vVM.FechaHasta = vVM.FechaHasta.AddDays(-1); var suc = _sucursalesServicios.GetOne(sucID); vVM.CabeceraReporte = suc.Nombre + " (Desde: " + vVM.FechaDesde.ToShortDateString() + " Hasta: " + vVM.FechaHasta.ToShortDateString() + ")"; return(View(vVM)); }
//[HttpPost] //public ActionResult ReporteGastosGeneralesPrint(ReporteGastosGeneralesViewModel vVM) //{ // var suc = _sucursalesServicios.GetOne(sucID); // vVM.Sucursal = suc; // vVM.CabeceraReporte = suc.Nombre + " (Desde: " + vVM.FechaDesde.ToShortDateString() + " Hasta: " + vVM.FechaHasta.ToShortDateString() + ")"; // var cierres = _cierresCajaServicios.GetAll().Where(a => a.FechaCierreCaja <= vVM.FechaHasta && a.FechaCierreCaja >= vVM.FechaDesde && a.SucursalID == sucID).ToList().GroupBy(b => b.FechaCierreCaja); // foreach (var dia in cierres) // { // CierreCaja c = new CierreCaja(); // c.FechaCierreCaja = dia.FirstOrDefault().FechaCierreCaja; // c.TotalProveedores = dia.Sum(a => a.TotalProveedores); // c.TotalSueldos = dia.Sum(a => a.TotalSueldos); // c.TotalVarios = dia.Sum(a => a.TotalVarios); // c.TotalVentasEfectivo = dia.Sum(a => a.TotalVentasEfectivo); // c.TotalVentasTarjetas = dia.Sum(a => a.TotalVentasTarjetas); // vVM.Cierres.Add(c); // } // return View(vVM); //} //public ActionResult ReporteGastosGenerales() //{ // if (!ValidarUsuario(1, 2)) return RedirectToAction("ErrorPermisos", "Base"); // ReporteGastosGeneralesViewModel vVM = new ReporteGastosGeneralesViewModel(); // vVM.FechaDesde = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); // vVM.FechaHasta = vVM.FechaDesde.AddMonths(1).AddDays(-1); // var cierres = _cierresCajaServicios.GetAll().Where(a => a.FechaCierreCaja <= vVM.FechaHasta && a.FechaCierreCaja >= vVM.FechaDesde && a.SucursalID == sucID).ToList().GroupBy(b=>b.FechaCierreCaja); // var suc = _sucursalesServicios.GetOne(sucID); // vVM.Sucursal = suc; // vVM.CabeceraReporte = suc.Nombre + " (Desde: " + vVM.FechaDesde.ToShortDateString() + " Hasta: " + vVM.FechaHasta.ToShortDateString() + ")"; // foreach (var dia in cierres) // { // CierreCaja c = new CierreCaja(); // c.FechaCierreCaja = dia.FirstOrDefault().FechaCierreCaja; // c.TotalProveedores = dia.Sum(a => a.TotalProveedores); // c.TotalSueldos = dia.Sum(a => a.TotalSueldos); // c.TotalVarios = dia.Sum(a => a.TotalVarios); // c.TotalVentasEfectivo = dia.Sum(a => a.TotalVentasEfectivo); // c.TotalVentasTarjetas = dia.Sum(a => a.TotalVentasTarjetas); // vVM.Cierres.Add(c); // } // return View(vVM); //} public ActionResult ReporteGastosGenerales() { if (!ValidarUsuario(1, 2)) { return(RedirectToAction("ErrorPermisos", "Base")); } ReporteGastosGeneralesViewModel vVM = new ReporteGastosGeneralesViewModel(); vVM.FechaDesde = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); vVM.FechaHasta = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day).AddDays(1); var MovimientosDeEfectivoDelPeriodo = _movimientosEfectivoServicios.GetAllBySucursalRangoFecha(sucID, vVM.FechaDesde, vVM.FechaHasta); var PagosDelPeriodo = _pagosServicios.GetAllBySucursalRangoFechas(sucID, vVM.FechaDesde, vVM.FechaHasta); //Por cada día instancio un detalleVM var dias = (vVM.FechaHasta - vVM.FechaDesde).Days; for (int i = 0; i < dias; i++) { ReporteGastosGeneralesDetalleViewModel detalleVM = new ReporteGastosGeneralesDetalleViewModel(); detalleVM.Fecha = vVM.FechaDesde.AddDays(i); var MovimientosDeEfectivoDelDia = MovimientosDeEfectivoDelPeriodo.Where(x => x.Fecha.Date == detalleVM.Fecha.Date).ToList(); var PagosDelDia = PagosDelPeriodo.Where(x => x.Venta.FechaVenta.Date == detalleVM.Fecha.Date).ToList(); detalleVM.TotalGastos = MovimientosDeEfectivoDelDia.Where(x => x.TipoMovimiento.Categoria.Nombre == "Proveedores" || x.TipoMovimiento.Categoria.Nombre == "Varios" && x.TipoMovimiento.Suma == false).Sum(x => x.Monto); detalleVM.TotalSueldos = MovimientosDeEfectivoDelDia.Where(x => x.TipoMovimiento.Categoria.Nombre == "Sueldos").Sum(x => x.Monto); detalleVM.TotalVentasEfectivo = PagosDelDia.Where(x => x.FormaDePago.Nombre == "Efectivo").Sum(x => x.Monto); detalleVM.TotalIngresosPorTarjeta = MovimientosDeEfectivoDelDia.Where(x => x.TipoMovimiento.Categoria.Nombre == "Ingresos por Tarjeta").Sum(x => x.Monto); vVM.Detalle.Add(detalleVM); } vVM.FechaHasta = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); return(View(vVM)); }