예제 #1
0
        // GET: Repartidores
        public ActionResult Index()
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            List <Repartidor> repartidores = new List <Repartidor>();
            var    rep_db = db.manboss_repartidores.ToList();
            double total  = 0;

            foreach (var repartidor in rep_db)
            {
                manboss_usuarios user = db_usuarios.manboss_usuarios.Where(x => x.id == repartidor.repartidor).FirstOrDefault();
                var total_db          = db_calificaciones.manboss_repartidores_calificaciones.Where(x => x.repartidor == repartidor.id);
                if (total_db.Any())
                {
                    total = total_db.Sum(x => x.calificacion);
                }
                int pedidos = db_calificaciones.manboss_repartidores_calificaciones.Where(x => x.repartidor == repartidor.id).Count();
                if (total > 0 && pedidos > 0)
                {
                    repartidor.rating = total / pedidos;
                }
                else
                {
                    repartidor.rating = 0;
                }
                Repartidor temporal = new Repartidor();
                temporal.repartidor = repartidor;
                temporal.usuario    = user;
                repartidores.Add(temporal);
            }
            ViewBag.repartidores = repartidores;
            return(View());
        }
예제 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            manboss_usuarios manboss_usuarios = db.manboss_usuarios.Find(id);

            db.manboss_usuarios.Remove(manboss_usuarios);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #3
0
 public ActionResult Create([Bind(Include = "id,nombre,correo,usuario,contrasenia")] manboss_usuarios usuario_form)
 {
     if (Session["nombre_usuario"] == null)
     {
         return(RedirectToAction("Index", "Login"));
     }
     if (db.manboss_usuarios.Any(x => x.usuario == usuario_form.usuario))
     {
         ViewBag.Message     = "El usuario ya existe";
         ViewBag.nombre      = usuario_form.nombre;
         ViewBag.correo      = usuario_form.correo;
         ViewBag.contrasenia = usuario_form.contrasenia;
         MenuEntities db_menu = new MenuEntities();
         ViewBag.menus = db_menu.manboss_permisos_menu.ToList();
         return(View());
     }
     else
     {
         string contrasenia_form = usuario_form.contrasenia;
         string hash             = random_string(12);
         usuario_form.contrasenia = encrypt_pass(contrasenia_form + hash).ToLower();
         usuario_form.hash        = hash;
         usuario_form.rol         = 1;
         db.manboss_usuarios.Add(usuario_form);
         db.SaveChanges();
         //Agregar permisos
         NameValueCollection permisos_form = Request.Form;
         string           permisos_str     = permisos_form.AllKeys.ToDictionary(x => x, x => permisos_form[x]).Values.ToList().Last();
         string[]         arr         = permisos_str.Split(',');
         int[]            permisos    = Array.ConvertAll(arr, int.Parse);
         PermisosEntities db_permisos = new PermisosEntities();
         for (int i = 1; i <= 9; i++)
         {
             manboss_permisos permiso = new manboss_permisos();
             if (permisos.Contains(i))
             {
                 permiso.usuario = usuario_form.id;
                 permiso.menu    = i;
                 permiso.estado  = 1;
                 db_permisos.manboss_permisos.Add(permiso);
                 db_permisos.SaveChanges();
             }
             else
             {
                 permiso.usuario = usuario_form.id;
                 permiso.menu    = i;
                 permiso.estado  = 0;
                 db_permisos.manboss_permisos.Add(permiso);
                 db_permisos.SaveChanges();
             }
         }
         return(RedirectToAction("Index"));
     }
 }
예제 #4
0
        // GET: Repartidores/Edit/5
        public ActionResult Edit(int?id)
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            manboss_repartidores repartidor = db.manboss_repartidores.Find(id);
            manboss_usuarios     user       = db_usuarios.manboss_usuarios.Where(x => x.id == repartidor.repartidor).FirstOrDefault();

            ViewBag.usuario = user;
            return(View(repartidor));
        }
예제 #5
0
        // GET: Repartidores/Details/5
        public ActionResult Details(int?id)
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            manboss_repartidores repartidor = db.manboss_repartidores.Find(id);
            Repartidor           temporal   = new Repartidor();
            manboss_usuarios     user       = db_usuarios.manboss_usuarios.Where(x => x.id == repartidor.repartidor).FirstOrDefault();

            temporal.usuario    = user;
            temporal.repartidor = repartidor;
            ViewBag.item        = temporal;
            return(View());
        }
예제 #6
0
        // GET: Administradores/Details/5
        public ActionResult Details(int?id)
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            manboss_usuarios manboss_model = db.manboss_usuarios.Find(id);
            MenuEntities     db_menu       = new MenuEntities();

            ViewBag.menus = db_menu.manboss_permisos_menu.ToList();
            PermisosEntities db_permisos = new PermisosEntities();
            int usuario = (int)id;

            ViewBag.permisos = db_permisos.manboss_permisos.Where(x => x.usuario == usuario && x.estado == 1).Select(x => x.menu).ToList();
            return(View(manboss_model));
        }
예제 #7
0
        public ActionResult Edit([Bind(Include = "id,nombre,correo,usuario,contrasenia")] manboss_usuarios usuario_form)
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            var usuario_actual = db.manboss_usuarios.FirstOrDefault(x => x.id == usuario_form.id);

            usuario_actual.nombre  = usuario_form.nombre;
            usuario_actual.correo  = usuario_form.correo;
            usuario_actual.usuario = usuario_form.usuario;
            if (!string.IsNullOrEmpty(usuario_form.contrasenia))
            {
                string contrasenia_form = usuario_form.contrasenia;
                string hash             = random_string(12);
                usuario_actual.contrasenia = encrypt_pass(contrasenia_form + hash).ToLower();
                usuario_actual.hash        = hash;
            }
            db.SaveChanges();
            //Agregar permisos
            NameValueCollection permisos_form = Request.Form;
            string permisos_str = permisos_form.AllKeys.ToDictionary(x => x, x => permisos_form[x]).Values.ToList().Last();

            string[]         arr         = permisos_str.Split(',');
            int[]            permisos    = Array.ConvertAll(arr, int.Parse);
            PermisosEntities db_permisos = new PermisosEntities();

            for (int i = 1; i <= 9; i++)
            {
                var permiso_actual = db_permisos.manboss_permisos.FirstOrDefault(x => x.usuario == usuario_form.id && x.menu == i);
                if (permisos.Contains(i))
                {
                    permiso_actual.estado = 1;
                    db_permisos.SaveChanges();
                }
                else
                {
                    permiso_actual.estado = 0;
                    db_permisos.SaveChanges();
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #8
0
        public ActionResult Create([Bind(Include = "efectivo")] manboss_repartidores repartidor_form)
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            NameValueCollection usuario_form = Request.Form;
            string usuario = usuario_form["usuario"];

            if (db_usuarios.manboss_usuarios.Any(x => x.usuario == usuario))
            {
                ViewBag.Message     = "El usuario ya existe";
                ViewBag.efectivo    = repartidor_form.efectivo;
                ViewBag.nombre      = usuario_form["nombre"];
                ViewBag.correo      = usuario_form["correo"];
                ViewBag.contrasenia = usuario_form["contrasenia"];
                return(View());
            }
            else
            {
                //Crear el usuario
                manboss_usuarios nuevo_usuario    = new manboss_usuarios();
                string           contrasenia_form = usuario_form["contrasenia"];
                string           hash             = random_string(12);
                nuevo_usuario.nombre      = usuario_form["nombre"];
                nuevo_usuario.correo      = usuario_form["correo"];
                nuevo_usuario.usuario     = usuario_form["usuario"];
                nuevo_usuario.contrasenia = encrypt_pass(contrasenia_form + hash).ToLower();
                nuevo_usuario.hash        = hash;
                nuevo_usuario.rol         = 2;
                db_usuarios.manboss_usuarios.Add(nuevo_usuario);
                db_usuarios.SaveChanges();
                //Crear el repartidor
                repartidor_form.repartidor = nuevo_usuario.id;
                repartidor_form.latitud    = 0;
                repartidor_form.longitud   = 0;
                repartidor_form.rating     = 5;
                db.manboss_repartidores.Add(repartidor_form);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
        }
예제 #9
0
        public ActionResult Iniciar_Sesion(manboss_usuarios Login)
        {
            UsuariosEntities db_usuarios = new UsuariosEntities();
            var usuario_info             = db_usuarios.manboss_usuarios.Where(x => x.usuario == Login.usuario).FirstOrDefault();

            if (usuario_info == null)
            {
                ViewBag.Message = "El usuario no existe.";
                return(View("Index", Login));
            }
            else
            {
                string contrasenia_final = usuario_info.contrasenia;
                string contrasenia_form  = Login.contrasenia;
                string hash            = usuario_info.hash;
                string contrasenia_res = encrypt_pass(contrasenia_form + hash).ToLower();
                if (contrasenia_res.Equals(contrasenia_final))
                {
                    RolUsuarioEntities db_roles = new RolUsuarioEntities();
                    var rol_info = db_roles.manboss_rol_usuario.Where(x => x.id == usuario_info.rol).FirstOrDefault();
                    PermisosEntities db_permisos = new PermisosEntities();
                    Session["permisos"]          = db_permisos.manboss_permisos.Where(x => x.usuario == usuario_info.id && x.estado == 1).Select(x => x.menu).ToList();
                    Session["id_usuario"]        = usuario_info.id;
                    Session["nombre_usuario"]    = usuario_info.nombre;
                    Session["rol_usuario"]       = usuario_info.rol;
                    Session["rolnombre_usuario"] = rol_info.nombre;
                    List <Ruta> rutas = new List <Ruta>();
                    Session["rutas_mandados"] = rutas;
                    return(RedirectToAction("Index", "Panel"));
                }
                else
                {
                    ViewBag.Message = "La contraseña es incorrecta.";
                    return(View("Index", Login));
                }
            }
        }
예제 #10
0
        // GET: Administradores/Delete/5
        public ActionResult Delete(int?id)
        {
            manboss_usuarios manboss_usuarios = db.manboss_usuarios.Find(id);

            return(View(manboss_usuarios));
        }