public SystemValidationModel SaveApertura(AddCajaAperturaViewModel viewModel)
        {
            var cajaAperturaCierre = new CajaAperturaCierre();

            cajaAperturaCierre = Mapper.Map <CajaAperturaCierre>(viewModel);
            cajaAperturaCierre.MontoApertura         = viewModel.Monto;
            _context.Entry(cajaAperturaCierre).State = EntityState.Added;
            var success    = _context.SaveChanges() > 0;
            var validation = new SystemValidationModel()
            {
                Id      = cajaAperturaCierre.Id,
                Message = success ? $"Se ha procesado correctamente" : $"No se pudo processar",
                Success = success
            };

            return(validation);
        }
        public IActionResult CajaApertura(int id)
        {
            var aperturaCierre = _cajaAperturaCierre.GetLastAperturaCierreByUser(UserId, SucursalId);

            if (aperturaCierre == null || aperturaCierre.FechaCierre != null)
            {
                var viewModel = new AddCajaAperturaViewModel()
                {
                    Tipo  = Core.Constants.CajaTipoOperacion.Apertura,
                    Cajas = _cajas.GetAllBySucusalId(SucursalId).Select(x => new DropDownViewModel <int>()
                    {
                        Text = $"{x.Nombre}", Value = x.Id
                    }).ToList(),
                    FechaApertura = DateTimeOffset.Now,
                    UsuarioId     = UserId
                };
                return(View(viewModel));
            }
            else
            {
                var cajaAperturaCierre = _cajaAperturaCierre.GetById(id);
                var viewModel          = new AddCajaAperturaViewModel()
                {
                    Tipo        = Core.Constants.CajaTipoOperacion.Cierre,
                    FechaCierre = DateTimeOffset.Now,
                    UsuarioId   = UserId,
                    Cajas       = _cajas.GetAllBySucusalId(SucursalId).Select(x => new DropDownViewModel <int>()
                    {
                        Text = $"{x.Nombre}", Value = x.Id
                    }).ToList(),
                    CajaId = cajaAperturaCierre.CajaId,
                    Id     = cajaAperturaCierre.Id,
                    Monto  = _ventas.GetVentaByCajaId(cajaAperturaCierre.CajaId, DateTime.UtcNow, EstadoVenta.Pagado).Sum(x => x.MontoTotal)
                };
                return(View(viewModel));
            }
        }