Ejemplo n.º 1
0
        public void CierreDeCajaRestaurant()
        {
            FrmFechaCajero f = new FrmFechaCajero();

            f.Text = "Cierre De Caja x Usuario";
            f.ShowDialog();
            if (f.DialogResult != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }
            Usuario cajero = f.cajero;

            using (var db = new RestaurantEntities())
            {
                List <MesasAbierta> MesasAbiertas = (from p in db.MesasAbiertas
                                                     orderby p.Numero
                                                     select p).ToList();
                if (cajero == null)
                {
                    List <TotalxFormaPago> pagos             = Basicas.VentasxLapso(f.fecha, f.fecha);
                    List <VentasxPlato>    listaVentasxPlato = Basicas.VentasLapsoxPlatos(f.fecha, f.fecha);
                    List <Factura>         Facturas          = FactoryFacturas.getFacturasLapso(f.fecha, f.fecha);
                    List <Factura>         consumoInterno    = FactoryFacturas.getConsumoLapso(f.fecha, f.fecha);
                    reportViewer1.ProcessingMode = ProcessingMode.Local;
                    this.reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\Reportes\\CierreDeCajaRestaurant.rdlc";
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Facturas", Facturas));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("MesasAbiertas", MesasAbiertas));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ConsumoInterno", consumoInterno));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("VentasxPlato", listaVentasxPlato));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("TotalxFormaPago", pagos));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("VentasxDia", Basicas.VentasDiariasxLapso(f.fecha, f.fecha)));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Parametros", new Parametro[] { Basicas.parametros() }));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Facturas", Basicas.FacturasDiariasxLapso(f.fecha, f.fecha)));
                    ReportParameter pUsuario = new
                                               ReportParameter("cajero", string.Format("TODOS LOS CAJEROS"));
                    this.reportViewer1.LocalReport.SetParameters(pUsuario);
                    double?Vales          = Basicas.ValesDiariosxLapso(f.fecha, f.fecha).Sum(x => x.Monto);
                    double?EfectivoEnCaja = pagos.FirstOrDefault(x => x.FormaPago == "EFECTIVO").Bolivares;
                    this.reportViewer1.LocalReport.SetParameters(new
                                                                 ReportParameter("EfectivoEnCaja", (EfectivoEnCaja.GetValueOrDefault(0) - Vales.GetValueOrDefault(0)).ToString()));
                    this.reportViewer1.LocalReport.SetParameters(new
                                                                 ReportParameter("MontoEnVales", Vales.GetValueOrDefault(0).ToString()));
                    //this.reportViewer1.LocalReport.SetParameters(new
                    ////   ReportParameter("Detallado", f.DetallePlatos.ToString()));
                    //double coeficiente = 0;
                    //try
                    //{
                    //    coeficiente = listaVentasxPlato.Average(x => x.MontoPlatosVendidos / x.CostoPlatosVendidos);
                    //}
                    //catch { }
                    //this.reportViewer1.LocalReport.SetParameters(new
                    //   ReportParameter("Coeficiente", coeficiente.ToString()));
                }
                else
                {
                    List <TotalxFormaPago> pagos             = Basicas.VentasxLapso(f.fecha, f.fecha, cajero);
                    List <VentasxPlato>    listaVentasxPlato = Basicas.VentasLapsoxPlatos(f.fecha, f.fecha, cajero);
                    List <Factura>         Facturas          = FactoryFacturas.getFacturasLapso(f.fecha, f.fecha, cajero);
                    List <Factura>         consumoInterno    = FactoryFacturas.getConsumoLapso(f.fecha, f.fecha, cajero);
                    reportViewer1.ProcessingMode = ProcessingMode.Local;
                    this.reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\Reportes\\CierreDeCajaRestaurant.rdlc";
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Facturas", Facturas));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("MesasAbiertas", MesasAbiertas));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ConsumoInterno", consumoInterno));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("VentasxPlato", listaVentasxPlato));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("TotalxFormaPago", pagos));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("VentasxDia", Basicas.VentasDiariasxLapso(f.fecha, f.fecha, cajero)));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Parametros", new Parametro[] { Basicas.parametros() }));
                    this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Facturas", Basicas.FacturasDiariasxLapso(f.fecha, f.fecha, cajero)));
                    ReportParameter pUsuario = new
                                               ReportParameter("cajero", string.Format("CAJERO:{0}", cajero.Nombre));
                    this.reportViewer1.LocalReport.SetParameters(pUsuario);
                    double?Vales          = Basicas.ValesDiariosxLapso(f.fecha, f.fecha, f.cajero).Sum(x => x.Monto);
                    double?EfectivoEnCaja = pagos.FirstOrDefault(x => x.FormaPago == "EFECTIVO").Bolivares;
                    this.reportViewer1.LocalReport.SetParameters(new
                                                                 ReportParameter("EfectivoEnCaja", EfectivoEnCaja.GetValueOrDefault(0).ToString()));
                    this.reportViewer1.LocalReport.SetParameters(new
                                                                 ReportParameter("MontoEnVales", Vales.GetValueOrDefault(0).ToString()));
                    //this.reportViewer1.LocalReport.SetParameters(new
                    //   ReportParameter("Detallado", f.DetallePlatos.ToString()));
                    //double coeficiente = listaVentasxPlato.Average(x => x.MontoPlatosVendidos / x.CostoPlatosVendidos);
                    //this.reportViewer1.LocalReport.SetParameters(new
                    //   ReportParameter("Coeficiente", coeficiente.ToString()));
                }
                this.reportViewer1.RefreshReport();
            }
            this.ShowDialog();
        }