예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            CreacionUsuario ventanaCreacion = new CreacionUsuario(this, null, InfoUsuario.rolUsuario == 1);

            ventanaCreacion.Show();
            this.Hide();
        }
예제 #2
0
        public ActionResult RegistrosCelular(HistorialWeb.TiposHistorial?MyType, string Fecha, int AutoId)
        {
            string fechaString = Fecha;

            fechaString  = fechaString.Replace('-', '/');
            fechaString += " 00:00:00";

            DateTime fechaSeleccionada;
            bool     result = DateTime.TryParseExact(fechaString, FormatoFecha.formato, FormatoFecha.provider, DateTimeStyles.None, out fechaSeleccionada);

            #region Modelo Usado en vista principal

            Auto auto = db.Autos.Where(a => a.Id == AutoId).FirstOrDefault();

            CreacionUsuario us = new CreacionUsuario();
            us.Fecha       = fechaSeleccionada;
            us.AutoPatente = auto.Patente;
            us.AutoId      = auto.Id;
            us.AutoNombre  = auto.NombreVehiculo;

            SelectList tiposHistorial = new SelectList(HistorialWeb.ObtenerTiposHistorial());
            ViewBag.MyType = tiposHistorial;
            ViewBag.HistorialSeleccionado = MyType.ToString();
            ViewBag.FechaSeleccionada     = Fecha;

            #endregion


            //Modelo historial va al viewbag que se envía a la vista parcial
            HistorialWeb historialWeb = new HistorialWeb();
            historialWeb.FechaMostrar = fechaSeleccionada;
            historialWeb.PatenteAuto  = auto.Patente;
            historialWeb.IdAuto       = auto.Id;

            if (MyType == HistorialWeb.TiposHistorial.Velocidad)
            {
                historialWeb = HistorialesManager.PrepararHistorialVelocidad(db, historialWeb, fechaSeleccionada, us.AutoId);

                //Viewbag enviado a la vista parcial
                ViewBag.HistorialWeb = historialWeb;
            }
            else if (MyType == HistorialWeb.TiposHistorial.Posicion)
            {
                historialWeb = HistorialesManager.PrepararHistorialPosicion(db, historialWeb, fechaSeleccionada, us.AutoId);

                //Viewbag enviado a la vista parcial
                ViewBag.HistorialWeb = historialWeb;
            }
            else if (MyType == HistorialWeb.TiposHistorial.Energia)
            {
                historialWeb = HistorialesManager.PrepararHistorialEnergia(db, historialWeb, fechaSeleccionada, us.AutoId);

                //Viewbag enviado a la vista parcial
                ViewBag.HistorialWeb = historialWeb;
            }

            return(View(us));
        }
예제 #3
0
        public ActionResult EditarUsuario([Bind(Include = "Id,Nombre,Rol,Email,AutoPatente,Password,ConfirmPassword,FlotaNombre,FlotaId")] CreacionUsuario model)
        {
            string pass        = "";
            string confirmpass = "";

            if (model.Password != null)
            {
                pass = model.Password.Trim();
            }
            if (model.ConfirmPassword != null)
            {
                confirmpass = model.ConfirmPassword.Trim();
            }


            if (ModelState.IsValid == false)
            {
                RellenarFlotasSinAdmin(model.FlotaNombre);

                SelectList selectFlotas = new SelectList(flotas, "Id", "Nombre", model.FlotaId);
                ViewBag.FlotaId = selectFlotas;
                return(View("EditarUsuario", model));
            }

            Usuario userOriginal = db.Usuarios.Where(u => u.Id == model.Id).FirstOrDefault();
            bool    repetido     = Usuario.VerificarRepetido(model.Email, userOriginal.Email);

            if (repetido)
            {
                ModelState.AddModelError("Email", "Ese correo ya existe.");

                RellenarFlotasSinAdmin(model.FlotaNombre);
                SelectList selectFlotas = new SelectList(flotas, "Id", "Nombre", model.FlotaId);
                ViewBag.FlotaId = selectFlotas;
                return(View("EditarUsuario", model));
            }

            //No borrar ultimo superAdmin
            if (userOriginal.Rol == Usuario.RolUsuario.SuperAdmin && model.Rol != Usuario.RolUsuario.SuperAdmin &&
                db.Usuarios.Where(u => u.Rol == Usuario.RolUsuario.SuperAdmin).ToList().Count == 1)
            {
                ModelState.AddModelError("Rol", "No puede remover este rol, porque no quedarían usuarios SuperAdmin en el sistema.");

                RellenarFlotasSinAdmin(model.FlotaNombre);
                SelectList selectFlotas = new SelectList(flotas, "Id", "Nombre", model.FlotaId);
                ViewBag.FlotaId = selectFlotas;

                return(View("EditarUsuario", model));
            }


            Usuario.EditarUsuario(db, userOriginal.Id, model.Nombre, model.Email, model.Rol, model.FlotaId);

            Usuario.EditarPasswordUsuario(db, userOriginal.Id, pass);

            return(RedirectToAction("AdminUsuarios"));
        }
예제 #4
0
        public ActionResult CrearUsuario([Bind(Include = "Id,Nombre,Rol,Password,ConfirmPassword,Email,AutoPatente,FlotaNombre,FlotaId")] CreacionUsuario model)
        {
            string pass        = "";
            string confirmpass = "";

            if (model.Password != null)
            {
                pass = model.Password.Trim();
            }
            if (model.ConfirmPassword != null)
            {
                confirmpass = model.ConfirmPassword.Trim();
            }

            if (pass == "" || confirmpass == "")
            {
                ModelState.Clear();
                if (pass == "")
                {
                    ModelState.AddModelError("Password", "Campo password es obligatorio.");
                }
                if (confirmpass == "")
                {
                    ModelState.AddModelError("ConfirmPassword", "Campo confirmar password es obligatorio.");
                }

                TryValidateModel(model);
            }

            if (ModelState.IsValid == false)
            {
                RellenarFlotasSinAdmin();
                ViewBag.FlotaId = new SelectList(flotas, "Id", "Nombre");
                return(View("CrearUsuario", model));
            }



            bool repetido = Usuario.VerificarRepetido(model.Email);

            if (repetido)
            {
                ModelState.AddModelError("Email", "Ese correo ya existe.");

                RellenarFlotasSinAdmin();
                ViewBag.FlotaId = new SelectList(flotas, "Id", "Nombre");
                return(View("CrearUsuario", model));
            }

            int flotaId = model.FlotaId;

            Usuario.CrearUsuario(db, model.Nombre, model.Email, model.Password, model.Rol, model.FlotaId);

            return(RedirectToAction("AdminUsuarios"));
        }
예제 #5
0
        public ActionResult Estadisticas()
        {
            //Modelo usado en la vista principal
            CreacionUsuario us = new CreacionUsuario();

            us.Fecha = DateTime.Today;

            SelectList tiposHistorial = new SelectList(HistorialWeb.ObtenerTiposHistorial());

            ViewBag.MyType = tiposHistorial;
            return(View(us));
        }
예제 #6
0
 private void btnNuevoUser_Click(object sender, EventArgs e)
 {
     using (CreacionUsuario ventanaCreacion = new CreacionUsuario(this, "3", InfoUsuario.rolUsuario == 1))
     {
         if (ventanaCreacion.ShowDialog() == DialogResult.OK)
         {
             textIdUsuario.Text     = ventanaCreacion.nombreIngresado;
             textIdUsuario.ReadOnly = true;
             btnNuevoUser.Hide();
             txtNoTieneUser.Hide();
         }
     }
 }
예제 #7
0
 private void button1_Click(object sender, EventArgs e)
 {
     using (CreacionUsuario ventanaCreacion = new CreacionUsuario(this, "4", InfoUsuario.rolUsuario == 1))
     {
         if (ventanaCreacion.ShowDialog() == DialogResult.OK)
         {
             textBox1.Text     = ventanaCreacion.nombreIngresado;
             textBox1.ReadOnly = true;
             button1.Hide();
             textBox2.Hide();
         }
     }
 }
예제 #8
0
        public ActionResult RegistrosCelular(int?id, int?tipo)   //tipo 0: chofer, tipo 1: auto
        {
            if (id == null || tipo == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Auto auto = null;

            if (tipo == 0)
            {
                Operador operador = db.Operadores.Where(o => o.Id == id).FirstOrDefault();

                if (operador == null)
                {
                    return(HttpNotFound());
                }

                //if (operador.Auto != null)
                //    auto = operador.Auto;

                if (operador.Autos.Count > 0)
                {
                    auto = operador.Autos.First();
                }
            }
            else if (tipo == 1)
            {
                auto = db.Autos.Where(u => u.Id == id).FirstOrDefault();
            }


            if (auto == null)
            {
                return(HttpNotFound());
            }


            //SelectList tiposHistorial = new SelectList(HistorialWeb.ObtenerTiposHistorial());
            //ViewBag.MyType = tiposHistorial;

            CreacionUsuario cu = new CreacionUsuario()
            {
                Fecha       = DateTime.Today,
                AutoPatente = auto.Patente,
                AutoId      = auto.Id,
                AutoNombre  = auto.NombreVehiculo
            };

            return(View(cu));
        }
예제 #9
0
        public ActionResult RegistroUsuario([Bind(Include = "Id,Nombre,Password,ConfirmPassword,Email")] CreacionUsuario model)
        {
            if (ModelState.IsValid == false)
            {
                return(View("RegistroUsuario", model));
            }

            bool repetido = Usuario.VerificarRepetido(model.Email);

            if (repetido)
            {
                ModelState.AddModelError("Email", "Correo electronico ya ocupado.");
                return(View("RegistroUsuario", model));
            }

            Usuario.CrearUsuario(db, model.Nombre, model.Email, model.Password, Usuario.RolUsuario.AdminDeFlota, 0);


            return(RedirectToAction("Index"));
        }
예제 #10
0
        // GET: SuperAdmin/EditarUsuario
        public ActionResult EditarUsuario(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Usuario usuario = db.Usuarios.Find(id);

            if (usuario == null)
            {
                return(HttpNotFound());
            }


            CreacionUsuario modeloUser = new CreacionUsuario()
            {
                Id          = usuario.Id,
                Nombre      = usuario.Nombre,
                Email       = usuario.Email,
                Rol         = usuario.Rol,
                AutoPatente = "",
                FlotaNombre = "",
                FlotaId     = 0
            };


            if (usuario.UsuarioFlota != null)
            {
                modeloUser.FlotaNombre = usuario.UsuarioFlota.Flota.Nombre;
                modeloUser.FlotaId     = usuario.UsuarioFlota.Flota.Id;
            }

            RellenarFlotasSinAdmin(modeloUser.FlotaNombre);
            SelectList selectFlotas = new SelectList(flotas, "Id", "Nombre", modeloUser.FlotaId);

            ViewBag.FlotaId = selectFlotas;
            return(View(modeloUser));
        }
예제 #11
0
        public ActionResult CrearPrimerUsuario([Bind(Include = "Id,Nombre,Password,ConfirmPassword,Email")] CreacionUsuario model)
        {
            if (ModelState.IsValid == false)
            {
                return(View("PrimerUsuario", model));
            }


            string passEncriptada = PasswordHash.CreateHash(model.Password.Trim());

            Usuario u = new Usuario()
            {
                Nombre   = model.Nombre,
                Email    = model.Email,
                Password = passEncriptada,
                Rol      = Usuario.RolUsuario.SuperAdmin
            };

            db.Usuarios.Add(u);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
예제 #12
0
        public ActionResult Estadisticas(HistorialWeb.TiposHistorial?MyType, string Fecha)
        {
            string fechaString = Fecha;

            fechaString  = fechaString.Replace('-', '/');
            fechaString += " 00:00:00";

            DateTime fechaSeleccionada;
            bool     result = DateTime.TryParseExact(fechaString, FormatoFecha.formato, FormatoFecha.provider, DateTimeStyles.None, out fechaSeleccionada);

            #region Modelo Usado en vista principal
            if (Session["Nombre"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            string  nombreSession = Session["Nombre"].ToString();
            Usuario userActual    = db.Usuarios.Where(u => u.Nombre == nombreSession).FirstOrDefault();


            CreacionUsuario us = new CreacionUsuario();
            us.Fecha       = fechaSeleccionada;
            us.AutoPatente = "";
            us.AutoId      = -1;

            if (userActual.OperadorId != null)
            {
                if (userActual.Operador.Autos.Count > 0)
                {
                    us.AutoPatente = userActual.Operador.Autos.First().Patente;
                    us.AutoId      = userActual.Operador.Autos.First().Id;
                }

                //us.AutoPatente = userActual.Operador.Auto.Patente;
                //us.AutoId = userActual.Operador.Auto.Id;
            }


            SelectList tiposHistorial = new SelectList(HistorialWeb.ObtenerTiposHistorial());
            ViewBag.MyType = tiposHistorial;
            ViewBag.HistorialSeleccionado = MyType;
            ViewBag.FechaSeleccionada     = Fecha;

            #endregion


            //Modelo historial va al viewbag que se envía a la vista parcial
            HistorialWeb historialWeb = new HistorialWeb();
            historialWeb.FechaMostrar = fechaSeleccionada;
            historialWeb.PatenteAuto  = us.AutoPatente;

            if (MyType == HistorialWeb.TiposHistorial.Velocidad)
            {
                historialWeb = HistorialesManager.PrepararHistorialVelocidad(db, historialWeb, fechaSeleccionada, us.AutoId);

                //Viewbag enviado a la vista parcial
                ViewBag.HistorialWeb = historialWeb;
            }
            else if (MyType == HistorialWeb.TiposHistorial.Posicion)
            {
                historialWeb = HistorialesManager.PrepararHistorialPosicion(db, historialWeb, fechaSeleccionada, us.AutoId);

                //ViewBag enviado a la vista parcial
                ViewBag.HistorialWeb = historialWeb;
            }
            else if (MyType == HistorialWeb.TiposHistorial.Energia)
            {
                historialWeb = HistorialesManager.PrepararHistorialEnergia(db, historialWeb, fechaSeleccionada, us.AutoId);

                //ViewBag enviado a la vista parcial
                ViewBag.HistorialWeb = historialWeb;
            }

            return(View(us));
        }