Example #1
0
        public IActionResult ParametrosUpdate(ParametrosVM parametrosVM)
        {
            _parametrosBU.Save
            (
                parametrosVM.Codigo,
                parametrosVM.EsconderValorPagamentoSumula,
                parametrosVM.CaminhoFotos,
                parametrosVM.TamanhoFotos,
                parametrosVM.ExtensaoFotos,
                parametrosVM.CaminhoFotosAtletas,
                parametrosVM.TamanhoAlturaFotos,
                parametrosVM.TamanhoLarguraFotos,
                parametrosVM.TipoReceita
            );

            return(Ok());
        }
Example #2
0
        public JsonResult ListParametros()
        {
            ParametrosEN parametrosEN = _parametrosRepository.All().FirstOrDefault();
            ParametrosVM parametrosVM = new ParametrosVM()
            {
                Codigo = parametrosEN.parCodigo,
                EsconderValorPagamentoSumula = parametrosEN.parEsconderValorPagamentoSumula,
                CaminhoFotos        = parametrosEN.parCaminhoFotos,
                TamanhoFotos        = parametrosEN.parTamanhoFotos,
                ExtensaoFotos       = parametrosEN.parExtensaoFotos,
                CaminhoFotosAtletas = parametrosEN.parCaminhoFotosAtletas,
                TamanhoAlturaFotos  = parametrosEN.parTamanhoAlturaFotos,
                TamanhoLarguraFotos = parametrosEN.parTamanhoLarguraFotos,
                TipoReceita         = parametrosEN.tipCodigo,
            };

            return(Json(parametrosVM));
        }
        public IActionResult CostosVentasBares(ParametrosVM parametros)
        {
            var existenciaService = new ExistenciasService(_context);
            var colors            = GetColor();
            var turnosEnPeriodo   = _context.Set <Turno>().Where(t => t.FechaInicio >= parametros.FechaInicio && t.FechaInicio <= parametros.FechaFin).ToList();
            var index             = 0;
            var labels            = turnosEnPeriodo.OrderBy(t => t.FechaInicio).GroupBy(t => t.FechaInicio.Date).Select(t => t.Key.ToShortDateString()).ToList();
            var datosCosto        = new DatosGraficas()
            {
                Labels = labels,
            };
            var datosVentas = new DatosGraficas()
            {
                Labels = labels,
            };

            index = 0;
            foreach (var barId in parametros.Bares)
            {
                var bar    = _context.Set <Bar>().Find(barId);
                var ventas = new List <ResumenVentas>();
                foreach (var turno in turnosEnPeriodo.Where(t => t.BarId == barId))
                {
                    var resumen = existenciaService.ExistenciaVentaDeBarPorTurno(turno.Id).ToList();
                    ventas.Add(new ResumenVentas
                    {
                        TurnoId = turno.Id,
                        Fecha   = turno.FechaInicio.Date,
                        Ventas  = resumen.Sum(e => e.Consumo * (double)e.Precio),
                        Costos  = resumen.Sum(e => e.Consumo * (double)e.Costo),
                    });
                }
                ventas = ventas.GroupBy(v => v.Fecha).Select(v => new ResumenVentas
                {
                    Fecha  = v.Key,
                    Ventas = v.Sum(r => r.Ventas),
                    Costos = v.Sum(r => r.Costos)
                }).ToList();
                datosVentas.Datasets.Add(new Dataset
                {
                    Label           = bar.Nombre,
                    BackgroundColor = colors[index],
                    BorderColor     = colors[index],
                    Fill            = false,
                    Data            = labels.Select(c => ventas.Any(d => d.Fecha.ToShortDateString() == c) ? ventas.Where(d => d.Fecha.ToShortDateString() == c).Sum(s => s.Ventas) : 0).ToList()
                });
                datosCosto.Datasets.Add(new Dataset
                {
                    Label           = bar.Nombre,
                    BackgroundColor = colors[index],
                    BorderColor     = colors[index],
                    Fill            = false,
                    Data            = labels.Select(c => ventas.Any(d => d.Fecha.ToShortDateString() == c) ? ventas.Where(d => d.Fecha.ToShortDateString() == c).Sum(s => s.Costos) : 0).ToList()
                });
                index++;
            }
            ViewBag.Costos         = datosCosto;
            ViewBag.Ventas         = datosVentas;
            ViewBag.Bares          = new MultiSelectList(_context.Set <Bar>().ToList(), "Id", "Nombre", parametros.Bares);
            ViewBag.FormaDePeriodo = new SelectList(Enum.GetValues(typeof(FormaDePeriodo)), parametros.FormaDePeriodo);
            return(View(parametros));
        }
        public IActionResult MovimientosDeProducto(ParametrosVM parametros)
        {
            var existenciaService = new ExistenciasService(_context);
            var turnosEnPeriodo   = _context.Set <Turno>().Where(t => t.FechaInicio >= parametros.FechaInicio && t.FechaInicio <= parametros.FechaFin).ToList();
            var result            = new List <MovimientoDeProductoVM>();

            //controles de existencia
            result.AddRange(_context.Set <DetalleControlExistencia>()
                            .Include(c => c.Control.Turno.Bar)
                            .Where(c => c.ProductoId == parametros.ProductoId && turnosEnPeriodo.Any(t => t.Id == c.Control.TurnoId))
                            .Select(c => new MovimientoDeProductoVM
            {
                Bar              = c.Control.Turno.Bar.Nombre,
                Fecha            = c.Control.Fecha,
                Cantidad         = (decimal)c.Cantidad,
                TipoDeMovimiento = "Control de existencia"
            }));
            //controles de existencias de ventas
            result.AddRange(_context.Set <DetalleControlExistenciaVenta>()
                            .Include(c => c.Control.Turno.Bar)
                            .Where(c => c.ProductoId == parametros.ProductoId && turnosEnPeriodo.Any(t => t.Id == c.Control.TurnoId))
                            .Select(c => new MovimientoDeProductoVM
            {
                Bar              = c.Control.Turno.Bar.Nombre,
                Fecha            = c.Control.Fecha,
                Cantidad         = (decimal)c.Cantidad,
                TipoDeMovimiento = "Control de existencia para venta"
            }));
            //entradas de almacen
            result.AddRange(_context.Set <EntregaDeAlmacen>()
                            .Include(c => c.Turno.Bar)
                            .Where(c => c.ProductoId == parametros.ProductoId && turnosEnPeriodo.Any(t => t.Id == c.TurnoId))
                            .Select(c => new MovimientoDeProductoVM
            {
                Bar              = c.Turno.Bar.Nombre,
                Fecha            = c.Turno.FechaInicio,
                Cantidad         = (decimal)c.Cantidad,
                TipoDeMovimiento = "Entrada de almacen"
            }));
            //entradas de almacen de venta
            result.AddRange(_context.Set <EntregaDeAlmacenVenta>()
                            .Include(c => c.Turno.Bar)
                            .Where(c => c.ProductoId == parametros.ProductoId && turnosEnPeriodo.Any(t => t.Id == c.TurnoId))
                            .Select(c => new MovimientoDeProductoVM
            {
                Bar              = c.Turno.Bar.Nombre,
                Fecha            = c.Turno.FechaInicio,
                Cantidad         = (decimal)c.Cantidad,
                TipoDeMovimiento = "Entrada de almacen para venta"
            }));
            // traslados
            result.AddRange(_context.Set <Traslado>()
                            .Include(c => c.Turno.Bar)
                            .Where(c => c.ProductoId == parametros.ProductoId && turnosEnPeriodo.Any(t => t.Id == c.TurnoId))
                            .Select(c => new MovimientoDeProductoVM
            {
                Bar              = c.Turno.Bar.Nombre,
                Fecha            = c.Fecha,
                Cantidad         = (decimal)c.Cantidad,
                TipoDeMovimiento = "Traslado"
            }));
            // traslados de venta
            result.AddRange(_context.Set <TrasladoVenta>()
                            .Include(c => c.Turno.Bar)
                            .Where(c => c.ProductoId == parametros.ProductoId && turnosEnPeriodo.Any(t => t.Id == c.TurnoId))
                            .Select(c => new MovimientoDeProductoVM
            {
                Bar              = c.Turno.Bar.Nombre,
                Fecha            = c.Fecha,
                Cantidad         = (decimal)c.Cantidad,
                TipoDeMovimiento = "Traslado para venta"
            }));
            ViewBag.ProductoId = new SelectList(_context.Set <Producto>().ToList(), "Id", "Nombre", parametros.ProductoId);
            return(View(result));
        }