예제 #1
0
        public ActionResult Index()
        {
            var diaContable = _periodoContableService.GetDiaContableActual();

            ViewBag.DiaContable      = diaContable;
            ViewBag.CantidadDeVentas = _ventasService.Ventas().Count(v => v.DiaContableId == diaContable.Id);
            return(View());
        }
예제 #2
0
        // GET: Caja
        public ActionResult Index()
        {
            var diaContable = _periodoContableService.GetDiaContableActual();

            if (diaContable == null)
            {
                diaContable = _db.Set <DiaContable>().ToList().Last();
            }
            ViewBag.DiaContable = diaContable;
            return(View());
        }
예제 #3
0
        public ActionResult Index()
        {
            var diaContable = _periodoContableService.GetDiaContableActual();

            ViewBag.DiaContable      = diaContable;
            ViewBag.CantidadDeVentas = _ventasService.Ventas().Count(v => v.DiaContableId == diaContable.Id);
            if (User.IsInRole(RolesMontin.Vendedor))
            {
                var usuarioId = User.Identity.GetUserId();
                var vendedor  = _ventasService.Vendedores().SingleOrDefault(v => v.UsuarioId == usuarioId);
                if (vendedor == null)
                {
                    TempData["error"] = "No existe vendedor asociado a la cuenta, consulte al administrador";
                }
            }
            return(View());
        }
예제 #4
0
        public ActionResult Firmar(string nombreUsuario, string contraseña)
        {
            var usuario = UserManager.Find(nombreUsuario, contraseña);

            if (usuario == null)
            {
                TempData["error"] = "Nombre de usuario o contraseña incorrecta";
                return(RedirectToAction("Index"));
            }
            var vendedor = _db.Set <Vendedor>().SingleOrDefault(v => v.UsuarioId == usuario.Id);

            if (vendedor == null || usuario.Roles.Any(r => r.Role.Name == RolesMontin.Administrador))
            {
                TempData["error"] = "Este usuario no registra la asistencia";
                return(RedirectToAction("Index"));
            }
            var diaContable = _periodoContableService.GetDiaContableActual();

            var asistencia = _db.Asistencias.SingleOrDefault(a => a.DiaContableId == diaContable.Id && a.VendedorId == vendedor.Id);

            if (asistencia == null)
            {
                asistencia = new Asistencia()
                {
                    VendedorId = vendedor.Id, DiaContableId = diaContable.Id
                };
                _db.Set <Asistencia>().Add(asistencia);
            }

            if (asistencia.Entrada == null)
            {
                asistencia.Entrada = DateTime.Now;
            }
            else if (asistencia.Salida == null)
            {
                asistencia.Salida = DateTime.Now;
            }
            _db.SaveChanges();
            TempData["exito"] = "Asistencia registrada correctamente";
            return(RedirectToAction("Index"));
        }
예제 #5
0
        public ActionResult Index(int id = 0)
        {
            if (id == -1)
            {
                TempData["error"] = "El dia seleccionado no existe!";
                id = 0;
            }
            var diaContable = id == 0
                ? _periodoContableService.GetDiaContableActual()
                : _periodoContableService.BuscarDiaContable(id);

            ViewBag.DiaContable = diaContable;
            return(View());
        }
예제 #6
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (!(filterContext.Controller is PeriodoContableController))
            {
                if (_periodoContableService.GetDiaContableActual() == null)
                {
                    var routeValues = new RouteValueDictionary();
                    routeValues.Add("controller", "PeriodoContable");
                    routeValues.Add("action", "AbrirDia");

                    filterContext.Result = new RedirectToRouteResult(routeValues);
                }
            }
            base.OnActionExecuting(filterContext);
        }
예제 #7
0
        //private ErpContext db = new ErpContext();
        public ActionResult Index()
        {
            //throw new Exception("Hola mi exception.");
            if (User.Identity.IsAuthenticated)
            {
                if (User.IsInRole(RolesMontin.Vendedor) || User.IsInRole(RolesMontin.CapitanDeSalon))
                {
                    return(RedirectToAction("Index", "Comandas"));
                }
                ViewBag.DiaContable = _periodoContableService.GetDiaContableActual() != null?_periodoContableService.GetDiaContableActual() : null;

                ViewBag.VentasDiarias        = 0;
                ViewBag.ImporteVentasDiarias = 0;

                ViewBag.ComprasDiarias        = 0;
                ViewBag.ImporteComprasDiarias = 0;

                var porcientoCalcula = _db.Set <PorcientoMenu>().Where(p => p.SeCalcula).Select(p => p.ElaboracioId).ToList();

                ViewBag.MasVendidos =
                    _db.Set <DetalleDeVenta>()
                    .GroupBy(v => v.Elaboracion).Where(e => porcientoCalcula.Contains(e.Key.Id)).OrderByDescending(v => v.Sum(e => e.Cantidad))
                    .Take(10)
                    .Select(v => new
                {
                    label = v.Key.Nombre,
                    value = v.Sum(e => e.Cantidad)
                });


                var finanzas    = new List <dynamic>();
                var movimientos = _cuentasService.GetMovimientosDeCuenta("Gastos").Where(g => g.TipoDeOperacion == TipoDeOperacion.Debito).ToList();
                movimientos.AddRange(_cuentasService.GetMovimientosDeCuenta("Caja").Where(g => g.TipoDeOperacion == TipoDeOperacion.Debito));
                //todo: arreglar grafica que no funciona bien
                finanzas.AddRange(movimientos.GroupBy(m => m.Asiento.DiaContable.Fecha.Date).Select(m => new
                {
                    period   = String.Format("{0:yyyy-MM-dd}", m.Key),
                    gastos   = m.Where(e => e.Cuenta.Nivel.Nombre == "Gastos").Sum(e => e.Importe),
                    ingresos = m.Where(e => e.Cuenta.Nivel.Nombre == "Caja").Sum(e => e.Importe)
                }));

                ViewBag.Finanzas = finanzas;
                return(View());
            }
            return(RedirectToAction("Autenticarse", "Seguridad"));
        }
예제 #8
0
        // GET: PeriodoContable
        public PartialViewResult DiaContable()
        {
            var diaContable = _service.GetDiaContableActual();

            return(PartialView("_DiaContablePartial", diaContable));
        }
예제 #9
0
 public ActionResult Index()
 {
     ViewBag.DiaContable = _periodoContableService.GetDiaContableActual();
     return(View());
 }
예제 #10
0
        // GET: OtrosGastos
        public ActionResult Index()
        {
            var diaContableId = _periodoContableService.GetDiaContableActual().Id;

            return(View(_db.Set <OtrosGastos>().Where(g => g.DiaContableId == diaContableId).ToList()));
        }