示例#1
0
        public static void CrearUsuario(ProyectoAutoContext _db, string _nombre, string _email, string _password, RolUsuario _rol, int _idFlota)
        {
            string  passEncriptada = PasswordHash.CreateHash(_password.Trim());
            Usuario nuevoUser      = new Usuario()
            {
                Nombre   = _nombre,
                Email    = _email,
                Password = passEncriptada,
                Rol      = _rol
            };

            _db.Usuarios.Add(nuevoUser);

            int idFlota = _idFlota;

            if (idFlota != 0)
            {
                Flota        flotaAsignar = _db.Flotas.Where(f => f.Id == idFlota).FirstOrDefault();
                UsuarioFlota uf           = new UsuarioFlota()
                {
                    Usuario = nuevoUser,
                    Flota   = flotaAsignar
                };
                _db.UsuarioFlotas.Add(uf);
                _db.SaveChanges();

                flotaAsignar.UsuarioFlota = uf;
                nuevoUser.UsuarioFlota    = uf;
            }


            _db.SaveChanges();
        }
示例#2
0
文件: Flota.cs 项目: Ocumian/AEOnline
        public static void EditarFlota(ProyectoAutoContext _db, int _idOriginal, string _nombreNuevo, int _idAdminNuevo, int _idPackServicio)
        {
            Flota   flotaOriginal = _db.Flotas.Where(f => f.Id == _idOriginal).FirstOrDefault();
            Usuario nuevoAdmin    = _db.Usuarios.Where(u => u.Id == _idAdminNuevo).FirstOrDefault();

            int idAdminOriginal = 0;

            if (flotaOriginal.UsuarioFlotaId != null)
            {
                idAdminOriginal = flotaOriginal.UsuarioFlota.Usuario.Id;
            }
            int idPackOriginal = 0;

            if (flotaOriginal.PackId != null)
            {
                idPackOriginal = flotaOriginal.PackServicio.Id;
            }


            if (_idAdminNuevo != idAdminOriginal)
            {
                // Si tiene una relacion anterior Desaparece
                if (flotaOriginal.UsuarioFlotaId != null)
                {
                    flotaOriginal.UsuarioFlota.Usuario.UsuarioFlota = null;
                    _db.UsuarioFlotas.Remove(flotaOriginal.UsuarioFlota);
                }

                //Si se selecciono algo diferente a "Sin Asignar", hay que hacer la nueva relacion
                if (_idAdminNuevo != 0)
                {
                    UsuarioFlota uf = new UsuarioFlota()
                    {
                        Usuario = nuevoAdmin,
                        Flota   = flotaOriginal
                    };
                    _db.UsuarioFlotas.Add(uf);
                    _db.SaveChanges();
                    nuevoAdmin.UsuarioFlota    = uf;
                    flotaOriginal.UsuarioFlota = uf;
                }
            }

            if (_idPackServicio != idPackOriginal)
            {
                PackServicio pack = _db.PackServicios.Where(p => p.Id == _idPackServicio).FirstOrDefault();
                flotaOriginal.PackServicio = pack;
            }

            flotaOriginal.Nombre = _nombreNuevo;

            _db.SaveChanges();
        }
示例#3
0
文件: Flota.cs 项目: Ocumian/AEOnline
        public static Flota CrearFlota(ProyectoAutoContext _db, string _nombre, int _idAdmin, string _nombrePackInicial)
        {
            Flota nuevaFlota = new Flota();

            nuevaFlota.Nombre        = _nombre;
            nuevaFlota.Servicios     = new List <Servicio>();
            nuevaFlota.TiposVehiculo = new List <TipoVehiculo>();

            _db.Flotas.Add(nuevaFlota);

            if (_idAdmin != 0)
            {
                Usuario      admin = _db.Usuarios.Where(u => u.Id == _idAdmin).FirstOrDefault();
                UsuarioFlota uf    = new UsuarioFlota()
                {
                    Usuario = admin,
                    Flota   = nuevaFlota
                };
                _db.UsuarioFlotas.Add(uf);
                _db.SaveChanges();
                nuevaFlota.UsuarioFlota = uf;
                admin.UsuarioFlota      = uf;
            }

            PackServicio packInicial = _db.PackServicios.Where(p => p.Nombre == _nombrePackInicial).FirstOrDefault();

            nuevaFlota.PackServicio = packInicial;

            _db.SaveChanges();

            //Creacion de datos default

            List <Servicio>     serviciosDefault     = CrearServiciosDefault();
            List <TipoVehiculo> tiposVehiculoDefault = CrearTiposVehiculoDefault();

            for (int i = 0; i < serviciosDefault.Count; i++)
            {
                nuevaFlota.Servicios.Add(serviciosDefault[i]);
            }

            for (int i = 0; i < tiposVehiculoDefault.Count; i++)
            {
                nuevaFlota.TiposVehiculo.Add(tiposVehiculoDefault[i]);
            }
            _db.SaveChanges();

            return(nuevaFlota);
        }
示例#4
0
        public static void EditarUsuario(ProyectoAutoContext _db, int _idOriginal, string _nuevoNombre, string _nuevoEmail, RolUsuario _nuevoRol, int _nuevaFlotaId)
        {
            Usuario userOriginal = _db.Usuarios.Where(u => u.Id == _idOriginal).FirstOrDefault();

            //Dependiendo del rol, primero se remueven las relaciones que se tenian como el rol anterior
            if (_nuevoRol == RolUsuario.Normal)
            {
                if (userOriginal.UsuarioFlotaId != null)
                {
                    userOriginal.UsuarioFlota.Flota.UsuarioFlota = null;
                    _db.UsuarioFlotas.Remove(userOriginal.UsuarioFlota);
                }
            }
            else if (_nuevoRol == RolUsuario.AdminDeFlota)
            {
                if (userOriginal.OperadorId != null)
                {
                    userOriginal.Operador.Usuario = null;
                }

                int idFlotaOriginal = 0;
                if (userOriginal.UsuarioFlotaId != null)
                {
                    idFlotaOriginal = userOriginal.UsuarioFlota.Flota.Id;
                }


                if (_nuevaFlotaId != idFlotaOriginal)
                {
                    if (userOriginal.UsuarioFlotaId != null)
                    {
                        userOriginal.UsuarioFlota.Flota.UsuarioFlota = null;
                        _db.UsuarioFlotas.Remove(userOriginal.UsuarioFlota);
                    }


                    if (_nuevaFlotaId != 0)
                    {
                        Flota flotaBuscada = _db.Flotas.Where(f => f.Id == _nuevaFlotaId).FirstOrDefault();

                        UsuarioFlota uf = new UsuarioFlota()
                        {
                            Usuario = userOriginal,
                            Flota   = flotaBuscada
                        };

                        _db.UsuarioFlotas.Add(uf);
                        _db.SaveChanges();
                        userOriginal.UsuarioFlota = uf;
                        flotaBuscada.UsuarioFlota = uf;
                    }
                }
            }
            else
            {
                if (userOriginal.OperadorId != null)
                {
                    userOriginal.Operador.Usuario = null;
                }


                if (userOriginal.UsuarioFlotaId != null)
                {
                    userOriginal.UsuarioFlota.Flota.UsuarioFlota = null;
                    _db.UsuarioFlotas.Remove(userOriginal.UsuarioFlota);
                }
            }


            userOriginal.Nombre = _nuevoNombre;
            userOriginal.Email  = _nuevoEmail;
            userOriginal.Rol    = _nuevoRol;

            _db.SaveChanges();
        }