Beispiel #1
0
        public void LoadTest()
        {
            var db  = new ErpContext();
            var dia = new DiaContable()
            {
                Fecha = DateTime.Now, Abierto = true
            };

            db.Set <DiaContable>().Add(dia);

            var user = new Usuario()
            {
                UserName = "******"
            };

            db.SaveChanges();

            var venta = new Venta()
            {
                Fecha = DateTime.Now, DiaContable = dia, Elaboraciones = new List <DetalleDeVenta>()
                {
                    new DetalleDeVenta()
                    {
                        ElaboracionId = 50, Cantidad = 2
                    }
                }
            };
        }
Beispiel #2
0
        public void Initialize()
        {
            /* Create a session and execute a query: */
            session = new ErpContext(connectionString);

            session.Database.ExecuteSqlCommand(GetCleanupSql());
        }
Beispiel #3
0
 public IntegrationTest()
 {
     context         = new ErpContext();
     _jogadorService = new JogadorService(new UnitOfWork <ErpContext>(context));
     _jogoService    = new JogoService(new UnitOfWork <ErpContext>(context));
     _sorteioService = new SorteioService(new UnitOfWork <ErpContext>(context));
 }
Beispiel #4
0
        public Asistencia()
        {
            InitializeComponent();

            var db = new ErpContext();

            fecha_reporte.Text = "Fecha: " + DateTime.Now.ToShortDateString();

            DataSource = db.ExistenciasEnCentroDeCostos.GroupBy(e => e.Producto).Select(e => new
            {
                Producto = e.Key.Producto.Nombre,
                Um       = e.Key.UnidadDeMedida.Siglas,
                Cantidad = e.Sum(c => c.Cantidad),
                Valor    = e.Sum(v => v.Producto.PrecioUnitario * v.Cantidad)
            }).ToList();

            this.productoCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Producto")
            });

            this.umCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Um")
            });

            this.cantidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.valorCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Valor")
            });
        }
Beispiel #5
0
        public ComprasConComprobantes(int mes, string mesNombre)
        {
            InitializeComponent();

            var db = new ErpContext();

            //compras
            //todo: agregar la seleccion del año
            var compras = db.Compras.ToList().Where(c => c.DiaContable.Fecha.Month == mes && c.TieneComprobante).ToList();

            titulo_reporte.Text = "Compras con comprobantes del mes " + mesNombre;

            var comprasData = compras.GroupBy(c => c.Fecha.Date).Select(c => new
            {
                Fecha   = c.Key,
                Importe = c.Sum(i => i.Productos.Sum(p => p.ImporteTotal)),
                Compras = c.Select(co => co).ToList()
            }).ToList();

            DataSource = comprasData;

            xrSubreport1.ReportSource = new Compras();

            this.fechaCompraCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Fecha", "{0:d}"),
            });

            this.compraImporteCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Importe")
            });
        }
 public void TestHarness()
 {
     // Create new instance of the ErpContext
     Db = Ice.Services.ContextFactory.CreateContext <ErpContext>();
     LoadttTableRow("POApvMsg");
     FindApprovalPersonEmailAddress();
 }
Beispiel #7
0
        public FichaDeCosto(int menuId)
        {
            InitializeComponent();

            var db = new ErpContext();
            var _productoService = new ProductoService(db);
            var menu             = db.Set <Elaboracion>().Find(menuId);

            //compras
            nombreMenu.Text = menu.Nombre;

            var productosData = menu.Productos.Select(p => new
            {
                Producto = p.Producto.Nombre,
                p.Cantidad,
                UnidadDeMedida = p.UnidadDeMedida.Siglas,
                Costo          = p.Cantidad * _productoService.GetPrecioUnitarioDeProducto(p.ProductoId, p.UnidadDeMedidaId)
            });

            ProductosReport.DataSource = productosData;

            this.produtoCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Producto"),
            });

            this.cantidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.uMCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "UnidadDeMedida")
            });

            this.costoCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Costo")
            });


            costoTotalCell.Text = String.Format("{0:C}", productosData.Sum(c => c.Costo));

            //ventas

            AgregosReport.DataSource = menu.Agregados;

            this.agregoCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Producto.Nombre")
            });

            this.agregoCantidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.agregoUmCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "UnidadDeMedida.Siglas")
            });
        }
        public void Initialize()
        {
            /* Create a session and execute a query: */
            session = new ErpContext(connectionString);

            //    session = new SqlConnection(connectionString);
            //session.Open();

            //using (var command = new SqlCommand(GetCleanupSql(), session))
            //{
            //    command.ExecuteNonQuery();
            //}
        }
Beispiel #9
0
        public static void Test()
        {
            // Check if DB is created? (Library example method)
            using (var context = new ErpContext())
            {
                // Creates the database if not exists
                context.Database.EnsureCreated(); // dbNotExisting = true -> create DB, false -> does nothing

                // Add some data if the DB or no data exists
                AddData(context);

                // Saves changes
                context.SaveChanges();
            }
        }
Beispiel #10
0
        public ComandaReport(int id)
        {
            InitializeComponent();

            var db      = new ErpContext();
            var comanda = db.Comandas.Find(id);

            fecha_reporte.Text  = "Amelia del Mar (" + comanda.Fecha.ToShortDateString() + " " + comanda.Fecha.ToShortTimeString() + ")";
            titulo_reporte.Text = "Comanda # " + comanda.VentaId;
            atendidoPor.Text    = "Dep: " + comanda.Vendedor.NombreCompleto + " | Pos: " + comanda.PuntoDeVenta.Nombre + " | Pax: " + comanda.CantidadPersonas;

            niñasCell.Text = "( " +
                             String.Join(",",
                                         comanda.Comensales.Where(c => c.Comensal == Comensal.Niña).Select(c => c.Numero)) + ")";
            niñosCell.Text = "( " +
                             String.Join(",",
                                         comanda.Comensales.Where(c => c.Comensal == Comensal.Niño).Select(c => c.Numero)) + ")";
            mujeresCell.Text = "( " +
                               String.Join(",",
                                           comanda.Comensales.Where(c => c.Comensal == Comensal.Mujer).Select(c => c.Numero)) + ")";
            hombresCell.Text = "( " +
                               String.Join(",",
                                           comanda.Comensales.Where(c => c.Comensal == Comensal.Hombre).Select(c => c.Numero)) + ")";

            var data = comanda.Detalles.OrderBy(d => d.Elaboracion.Clasificacion.Orden).Select(e => new
            {
                Menu     = e.Elaboracion.Nombre + (e.Agregados.Count > 0 ? " con: " + String.Join(",", e.Agregados.Select(a => a.Agregado.Producto.Nombre + " (" + a.Cantidad + ")")) : ""),
                Cantidad = (int)e.Cantidad,
                Detalles = String.Join("\n\r", e.Ordenes.Select(o => "[" + o.Orden.Numero + "]: " + String.Join(",", o.Anotaciones.Select(a => a.Abreviatura))))
            }).ToList();

            DataSource = data;

            this.menuCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Menu")
            });

            this.cantidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.detallesCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Detalles")
            });
        }
Beispiel #11
0
        public ValeDeVenta(int id)
        {
            InitializeComponent();

            var db    = new ErpContext();
            var venta = db.Ventas.Find(id);

            fecha_reporte.Text  = "Amelia del Mar        " + venta.Fecha.ToShortDateString();
            titulo_reporte.Text = "Comanda # " + id;
            atendidoPor.Text    = "Dep: " + venta.Vendedor.NombreCompleto + " | Pos: " + venta.PuntoDeVenta.Nombre + " | Pax: " + venta.CantidadPersonas;

            var data = venta.Elaboraciones.Select(e => new
            {
                Menu     = e.Elaboracion.Nombre + (e.Agregados.Count > 0? " con: " + String.Join(",", e.Agregados.Select(a => a.Agregado.Producto.Nombre + " (" + a.Cantidad + ")")):""),
                Cantidad = (int)e.Cantidad,
                Precio   = e.Elaboracion.PrecioDeVenta + e.Agregados.Sum(a => a.Agregado.Precio),
                Importe  = Math.Round(e.ImporteTotal, 2)
            }).ToList();

            DataSource = data;

            this.menuCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Menu")
            });

            this.cantidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.precioCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Precio", "{0:C}")
            });

            this.importeCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Importe", "{0:C}")
            });

            totalCuc.Text = String.Format("{0:C}", data.Sum(d => d.Importe));
            totalCup.Text = String.Format("{0:C}", data.Sum(d => d.Importe) * 25);
        }
 public AuthRepository()
 {
     _context     = new ErpContext();
     _userManager = new UserManager <IdentityUser>(new UserStore <IdentityUser>(_context));
 }
Beispiel #13
0
 public Order_detailRepository(ErpContext context)
 {
     _context = context;
 }
        public ResumenDeGanaciaDiaria(DateTime Fecha)
        {
            InitializeComponent();

            var db = new ErpContext();

            fecha.Text = Fecha.ToShortDateString();

            var fechaInicio = Fecha.Date;
            var fechaFin    = fechaInicio.AddHours(23);

            fechaFin = fechaFin.AddMinutes(59);

            //compras
            var ventas = db.Ventas.Where(c => c.DiaContable.Fecha >= fechaInicio && c.DiaContable.Fecha <= fechaFin).ToList();

            var costos =
                db.MovimientosDeProductos.Where(
                    c => c.DiaContable.Fecha >= fechaInicio && c.DiaContable.Fecha <= fechaFin &&
                    (c.Tipo.Descripcion == TipoDeMovimientoConstantes.SalidaAProduccion || c.Tipo.Descripcion == TipoDeMovimientoConstantes.Merma)).GroupBy(m => m.CentroDeCosto).Select(m => new
            {
                CentroDeCosto = m.Key,
                Costos        = m.Sum(c => c.Costo)
            });

            var costosNegativos =
                db.MovimientosDeProductos.Where(
                    c => c.DiaContable.Fecha >= fechaInicio && c.DiaContable.Fecha <= fechaFin &&
                    (c.Tipo.Descripcion == TipoDeMovimientoConstantes.EntradaPorErrorDeSalida)).GroupBy(m => m.CentroDeCosto).Select(m => new
            {
                CentroDeCosto = m.Key,
                Costos        = m.Sum(c => c.Costo)
            });

            //todo: incluir mermas de almacen como costos
            var mermasAlmacen =
                db.SalidasPorMermas.Where(c => c.DiaContable.Fecha >= fechaInicio && c.DiaContable.Fecha <= fechaFin).ToList();

            var data = ventas.SelectMany(v => v.Elaboraciones.GroupBy(e => e.Elaboracion.CentroDeCosto).Select(e => new
            {
                CentroDeCosto = e.Key,
                Ventas        = e.Sum(m => m.ImporteTotal),
            })).GroupBy(v => v.CentroDeCosto).Select(v => new
            {
                CentroDeCosto = v.Key,
                Ventas        = v.Sum(e => e.Ventas),
                Costo         = (costos.Any(c => c.CentroDeCosto.Id == v.Key.Id)?costos.SingleOrDefault(c => c.CentroDeCosto.Id == v.Key.Id).Costos: 0) - (costosNegativos.Any(c => c.CentroDeCosto.Id == v.Key.Id) ? costosNegativos.SingleOrDefault(c => c.CentroDeCosto.Id == v.Key.Id).Costos : 0),
                Ganancia      = v.Sum(e => e.Ventas) - ((costos.Any(c => c.CentroDeCosto.Id == v.Key.Id) ? costos.SingleOrDefault(c => c.CentroDeCosto.Id == v.Key.Id).Costos : 0) - (costosNegativos.Any(c => c.CentroDeCosto.Id == v.Key.Id) ? costosNegativos.SingleOrDefault(c => c.CentroDeCosto.Id == v.Key.Id).Costos : 0))
            });

            var otrosGastosData =
                db.OtrosGastos.Where(c => c.DiaContable.Fecha >= fechaInicio && c.DiaContable.Fecha <= fechaFin)
                .ToList();

            DataSource = data;

            this.centroDeCosto.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[]
            {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "CentroDeCosto.Nombre"),
            });

            this.ventasCc.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[]
            {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Ventas", "{0:C}")
            });

            this.gastoConsumoCc.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[]
            {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Costo", "{0:C}")
            });

            this.ganacia.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[]
            {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Ganancia", "{0:C}")
            });

            var sumaVentas        = data.Sum(d => d.Ventas);
            var sumaCostos        = data.Sum(d => d.Costo) + mermasAlmacen.Sum(m => m.Costo);
            var sumaGastos        = otrosGastosData.Sum(d => d.Importe);
            var pagoATrabajadores =
                db.Asientos.SingleOrDefault(
                    c =>
                    c.DiaContable.Fecha >= fechaInicio && c.DiaContable.Fecha <= fechaFin &&
                    c.Detalle == "Trabajadores : Pago al cierre")
                .Movimientos.SingleOrDefault(m => m.Cuenta.Nombre == "Caja")
                .Importe;

            totalVentas.Text           = String.Format("{0:C}", sumaVentas);
            totalGastosporConsumo.Text = String.Format("{0:C}", sumaCostos);
            otrosGastos.Text           = String.Format("{0:C}", sumaGastos);
            pagoTrabajadores.Text      = String.Format("{0:C}", pagoATrabajadores);

            totalGanancias.Text = String.Format("{0:C}", sumaVentas - sumaGastos - sumaCostos - pagoATrabajadores);
        }
Beispiel #15
0
 public PersonRepository(ErpContext context)
 => this.Context = context;
Beispiel #16
0
 public ClientRepository(ErpContext context)
 => this.Context = context;
 public DeliverRepository(ErpContext context)
 {
     _context = context;
 }
Beispiel #18
0
 public CustomRepository(ErpContext context)
 {
     _context = context;
 }
Beispiel #19
0
        public static void AddData(ErpContext context)
        {
            // Independent Entities (do not depend on other entities)
            if (!context.Address.Any())
            {
                context.Address.AddRange(new AddressData().Get());
                context.SaveChanges();
            }

            if (!context.ProcessInfo.Any())
            {
                context.ProcessInfo.AddRange(new ProcessInfoData().Get());
                context.SaveChanges();
            }

            if (!context.TradingInfo.Any())
            {
                context.TradingInfo.AddRange(new TradingInfoData().Get());
                context.SaveChanges();
            }

            // Dependent Entities (depend on other entities)
            if (!context.Client.Any())
            {
                var addresses = context.Address.ToList();
                context.Client.AddRange(new ClientData().Get(addresses));
                context.SaveChanges();
            }

            if (!context.Supplier.Any())
            {
                var addresses = context.Address.ToList();
                context.Supplier.AddRange(new SupplierData().Get(addresses));
                context.SaveChanges();
            }

            if (!context.TeamMember.Any())
            {
                var addresses = context.Address.ToList();
                context.TeamMember.AddRange(new TeamMemberData().Get(addresses));
                context.SaveChanges();
            }

            if (!context.ItemInfo.Any())
            {
                var tradingInfos = context.TradingInfo.ToList();
                var processInfos = context.ProcessInfo.ToList();
                context.ItemInfo.AddRange(new ItemInfoData().Get(tradingInfos, processInfos));
                context.SaveChanges();
            }

            if (!context.Component.Any())
            {
                var items = context.ItemInfo.ToList();
                context.Component.AddRange(new ComponentData().Get(items));
                context.SaveChanges();
            }

            // Still to create data
            if (!context.Order.Any())
            {
                context.Order.AddRange(new OrderData().Get());
                context.SaveChanges();
            }

            if (!context.Warehouse.Any())
            {
                context.Warehouse.AddRange(new WarehouseData().Get());
                context.SaveChanges();
            }
        }
Beispiel #20
0
 public SupplyRepository(ErpContext context)
 {
     _context = context;
 }
Beispiel #21
0
 public ClientController(ErpContext context)
 {
     _context = context;
 }
Beispiel #22
0
 public Order_masterRepository(ErpContext context)
 {
     _context = context;
 }
Beispiel #23
0
        public Operaciones(DateTime FechaInicio, DateTime FechaFin)
        {
            InitializeComponent();

            var db = new ErpContext();

            FechaFin = FechaFin.AddHours(23).AddMinutes(59);

            fecha_inicio.Text = "Desde: " + FechaInicio.ToShortDateString();
            fecha_fin.Text    = "Hasta: " + FechaFin.ToShortDateString();

            //compras
            var compras = db.Compras.Where(c => c.DiaContable.Fecha >= FechaInicio && c.DiaContable.Fecha <= FechaFin).ToList();

            var comprasData = compras.SelectMany(c => c.Productos.Select(p => new
            {
                Fecha     = c.Fecha,
                Tienda    = c.Entidad.Nombre,
                Productos = p.Producto.Nombre,
                Cantidad  = p.Cantidad + " " + p.UnidadDeMedida.Siglas,
                Importe   = p.ImporteTotal
            })).ToList();

            ComprasReport.DataSource = comprasData;

            this.fechaCompraCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Fecha", "{0:d}"),
            });

            this.compraTiendaCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Tienda")
            });

            this.compraProductosCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Productos")
            });

            this.comprasCandidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.compraImporteCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Importe", "{0:C}")
            });

            totalComprasCell.Text = String.Format("{0:C}", comprasData.Sum(c => c.Importe));

            //ventas
            var ventas     = db.Ventas.Where(c => c.DiaContable.Fecha >= FechaInicio && c.DiaContable.Fecha <= FechaFin && (c.EstadoDeVenta == EstadoDeVenta.PagadaEnEfectivo || c.EstadoDeVenta == EstadoDeVenta.PagadaPorTarjeta || c.EstadoDeVenta == EstadoDeVenta.PagadaPorFactura)).ToList();
            var ventasData = ventas.SelectMany(v => v.Elaboraciones).GroupBy(e => e.Detalle).Select(v => new
            {
                Menus    = v.Key,
                Cantidad = v.Sum(c => c.Cantidad),
                Importe  = v.Sum(c => c.ImporteTotal)
            }).ToList();

            VentasReport.DataSource = ventasData.OrderBy(v => v.Menus);

            this.ventaMenusCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Menus")
            });

            this.ventaCantidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.ventaImporteCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Importe", "{0:C}")
            });

            ventaTotalImporteCell.Text = String.Format("{0:C}", ventasData.Sum(c => c.Importe));

            //gastos
            var gastos     = db.OtrosGastos.Where(c => c.DiaContable.Fecha >= FechaInicio && c.DiaContable.Fecha <= FechaFin).ToList();
            var gastosData = gastos.Select(g => new
            {
                Fecha    = g.DiaContable.Fecha.Date,
                Concepto = g.ConceptoDeGasto.Nombre,
                Importe  = g.Importe
            }).ToList();

            OtrosGastosReport.DataSource = gastosData;

            this.gastosFechaCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Fecha", "{0:d}")
            });

            this.gastosConceptoCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Concepto")
            });

            this.gastosImporteCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Importe", "{0:C}")
            });

            gastosTotalCell.Text = String.Format("{0:C}", gastosData.Sum(g => g.Importe));

            //resumen
            var totalVentas  = ventasData.Sum(v => v.Importe);
            var totalCompras = comprasData.Sum(c => c.Importe);
            var totalGastos  = gastosData.Sum(g => g.Importe);

            total_ingresos.Text           = String.Format("{0:C}", totalVentas);
            total_gastos_directos.Text    = String.Format("{0:C}", totalCompras);
            total_gastos_indirectos.Text  = String.Format("{0:C}", totalGastos);
            relacion_ingresos_gastos.Text = String.Format("{0:C}", totalVentas - totalCompras - totalGastos);

            //grafico
            var datosGrafico = new Dictionary <string, dynamic>();



            var resumenGastos = new List <ResumenOperaciones>();

            resumenGastos.AddRange(gastosData.GroupBy(g => g.Fecha.Date).Select(g => new ResumenOperaciones()
            {
                Fecha = g.Key, Gastos = g.Sum(d => d.Importe)
            }));

            foreach (var c in comprasData)
            {
                if (resumenGastos.Any(r => r.Fecha.Year == c.Fecha.Year && r.Fecha.Month == c.Fecha.Month && r.Fecha.Day == c.Fecha.Day))
                {
                    resumenGastos.SingleOrDefault(r => r.Fecha.Year == c.Fecha.Year && r.Fecha.Month == c.Fecha.Month && r.Fecha.Day == c.Fecha.Day).Gastos += c.Importe;
                }
                else
                {
                    resumenGastos.Add(new ResumenOperaciones()
                    {
                        Fecha = c.Fecha.Date, Gastos = c.Importe
                    });
                }
            }

            var data = new List <ResumenOperaciones>();

            data.AddRange(resumenGastos);
            foreach (var v in ventas)
            {
                if (data.Any(d => d.Fecha.Date == v.Fecha.Date))
                {
                    data.SingleOrDefault(d => d.Fecha.Date == v.Fecha.Date).Ingresos += v.Importe;
                }
                else
                {
                    data.Add(new ResumenOperaciones()
                    {
                        Fecha = v.Fecha, Ingresos = v.Importe
                    });
                }
            }

            datosGrafico.Add("Gastos", resumenGastos.Select(g => new { Fecha = g.Fecha, Importe = g.Gastos }));
            datosGrafico.Add("Ingresos", ventas.Select(g => new { Fecha = g.Fecha, Importe = g.Importe }));

            //var data = operaciones.GroupBy(o => o.Fecha).Select(o => new { Fecha = o.Key, Ingresos = o.Where(op => op.Importe > 0).Sum(op => op.Importe), Gastos = -o.Where(op => op.Importe < 0).Sum(op => op.Importe) }).ToList();

            grafico.DataSource = data;

            grafico.Series["Ingresos"].ArgumentDataMember = "Fecha";
            grafico.Series["Ingresos"].ValueDataMembers.AddRange(new string[] { "Ingresos" });
            grafico.Series["Gastos"].ArgumentDataMember = "Fecha";
            grafico.Series["Gastos"].ValueDataMembers.AddRange(new string[] { "Gastos" });
        }
Beispiel #24
0
 public UnitOfWork(ErpContext context, IChangeLogger changeLogger)
 {
     _context      = context;
     _changeLogger = changeLogger;
 }
Beispiel #25
0
 public DepartmentRepository(ErpContext context)
 {
     _context = context;
 }
 public Product_dataRepository(ErpContext context)
 {
     _context = context;
 }
Beispiel #27
0
 public TitleRepository(ErpContext _context)
 {
     context = _context;
 }
Beispiel #28
0
 public BasicService(ErpContext repositoryContext)
 {
     RepositoryContext = repositoryContext;
 }
Beispiel #29
0
 public StaffService(ErpContext repositoryContext) : base(repositoryContext)
 {
 }
Beispiel #30
0
        public Inventario(string lugar, DateTime?fecha)
        {
            InitializeComponent();

            var db = new ErpContext();

            fecha_reporte.Text = "Fecha del reporte: " + DateTime.Now.ToShortDateString();
            if (fecha == null)
            {
                titulo_reporte.Text += " de " + lugar + " actualmente";

                if (lugar == "Almacen")
                {
                    DataSource = db.ExistenciasEnAlmacenes.Where(e => e.Producto.Producto.Activo).Select(e => new
                    {
                        Producto = e.Producto.Producto.Nombre,
                        Um       = e.Producto.UnidadDeMedida.Siglas,
                        Cantidad = e.ExistenciaEnAlmacen,
                        Valor    = e.Producto.PrecioUnitario * e.ExistenciaEnAlmacen
                    }).OrderBy(p => p.Producto).ToList();
                }
                else
                {
                    var cc = db.CentrosDeCostos.SingleOrDefault(c => c.Nombre == lugar);
                    DataSource = db.ExistenciasEnCentroDeCostos.Where(e => e.Producto.Producto.Activo && e.CentroDeCostoId == cc.Id && e.Producto.Producto.EsInventariable).Select(e => new
                    {
                        Producto = e.Producto.Producto.Nombre,
                        Um       = e.Producto.UnidadDeMedida.Siglas,
                        Cantidad = e.Cantidad,
                        Valor    = Math.Round(e.Producto.PrecioUnitario * e.Cantidad, 2)
                    }).OrderBy(p => p.Producto).ToList();
                }
            }
            else
            {
                titulo_reporte.Text += " de " + lugar + " al cierre del dia " + fecha.Value.ToShortDateString();
                fecha = fecha.Value.AddDays(1);
                if (lugar == "Almacen")
                {
                    var entradasAlmacen =
                        db.Set <EntradaAlmacen>().Where(d => d.DiaContable.Fecha >= fecha).GroupBy(d => d.Producto).Select(d => new { Producto = d.Key, Cantidad = d.Sum(e => e.Cantidad) });
                    var salidasAlmacen = db.Set <DetalleSalidaAlmacen>().Where(d => d.Vale.DiaContable.Fecha >= fecha).GroupBy(d => d.Producto).Select(d => new { Producto = d.Key.Producto, Cantidad = d.Sum(e => e.Cantidad) });
                    var mermasAlmacen  = db.Set <SalidaPorMerma>().Where(d => d.DiaContable.Fecha >= fecha).ToList().GroupBy(d => d.ExistenciaAlmacen).Select(d => new { Producto = d.Key.Producto, Cantidad = d.Sum(e => e.Cantidad * (d.Key.Producto.UnidadDeMedida.FactorDeConversion / e.UnidadDeMedida.FactorDeConversion)) }).ToList();
                    DataSource = db.ExistenciasEnAlmacenes.Where(e => e.Producto.Producto.Activo).ToList().Select(e => new
                    {
                        Producto = e.Producto.Producto.Nombre,
                        Um       = e.Producto.UnidadDeMedida.Siglas,
                        Cantidad = e.ExistenciaEnAlmacen - (entradasAlmacen.Any(p => p.Producto.Id == e.ProductoId)?entradasAlmacen.SingleOrDefault(p => p.Producto.Id == e.ProductoId).Cantidad:0) +
                                   (salidasAlmacen.Any(p => p.Producto.Id == e.ProductoId) ? salidasAlmacen.SingleOrDefault(p => p.Producto.Id == e.ProductoId).Cantidad : 0) +
                                   (mermasAlmacen.Any(p => p.Producto.Id == e.ProductoId) ? mermasAlmacen.SingleOrDefault(p => p.Producto.Id == e.ProductoId).Cantidad : 0),

                        Valor = e.Producto.PrecioUnitario * e.ExistenciaEnAlmacen
                    }).OrderBy(p => p.Producto).ToList();
                }
                else
                {
                    var cc          = db.CentrosDeCostos.SingleOrDefault(c => c.Nombre == lugar);
                    var movimientos =
                        db.MovimientosDeProductos.Where(m => m.DiaContable.Fecha >= fecha && m.CentroDeCostoId == cc.Id).Include(m => m.Tipo).ToList().GroupBy(m => m.Producto).Select(m => new { Producto = m.Key,
                                                                                                                                                                                                  Cantidad = m.Sum(d => d.Cantidad * d.Tipo.Factor) }).ToList();
                    DataSource = db.ExistenciasEnCentroDeCostos.Where(e => e.Producto.Producto.Activo && e.CentroDeCostoId == cc.Id && e.Producto.Producto.EsInventariable).ToList().Select(e => new
                    {
                        Producto = e.Producto.Producto.Nombre,
                        Um       = e.Producto.UnidadDeMedida.Siglas,
                        Cantidad = e.Cantidad - (movimientos.Any(m => m.Producto.Id == e.Producto.Id)? movimientos.SingleOrDefault(m => m.Producto.Id == e.Producto.Id).Cantidad:0),
                        Valor    = Math.Round(e.Producto.PrecioUnitario * e.Cantidad, 2)
                    }).OrderBy(p => p.Producto).ToList();
                }
            }


            this.productoCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Producto")
            });

            this.umCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Um")
            });

            this.cantidadCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Cantidad")
            });

            this.valorCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
                new DevExpress.XtraReports.UI.XRBinding("Text", null, "Valor", "{0:C}")
            });
        }