public ICollection <Conductor> ListarConductores()
        {
            try
            {
                using (uruguay_busEntities db = new uruguay_busEntities())
                {
                    ICollection <Conductor> ret         = new List <Conductor>();
                    ICollection <conductor> conductores = (ICollection <conductor>)db.conductor.ToList();
                    foreach (var item in conductores)
                    {
                        Conductor c = ConductorConverter.convert(item);
                        c.persona = PersonaConverter.convert(item.persona);

                        c.persona.usuario    = UsuarioConverter.convert(item.persona.usuario);
                        c.persona.admin      = AdminConverter.convert(item.persona.admin);
                        c.persona.superadmin = SuperAdminConverter.convert(item.persona.superadmin);


                        ret.Add(c);
                    }
                    return(ret);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public Usuario RegistrarUsuario(Usuario u)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    if (db.persona.Where(x => x.correo == u.persona.correo).Count() != 0)
                    {
                        throw new Exception("Ya existe un usuario con ese correo");
                    }

                    usuario usu = UsuarioConverter.convert(u);
                    persona per = PersonaConverter.convert(u.persona);

                    per.contrasenia = DAL_Usuario.GetHash(per.contrasenia);

                    usu.persona = per;
                    per.usuario = usu;

                    db.persona.Add(per);
                    db.SaveChanges();

                    Usuario usuarioRet = UsuarioConverter.convert(usu);
                    Persona personaRet = PersonaConverter.convert(per);

                    usuarioRet.persona = personaRet;

                    return(usuarioRet);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
        public Usuario IniciarSesion(string correo, string contrasenia)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    persona per = db.persona.Where(x => x.correo == correo).FirstOrDefault();

                    if (per == null)
                    {
                        return(null);
                    }

                    if (!DAL_Usuario.CompareHash(contrasenia, per.contrasenia))
                    {
                        return(null);
                    }

                    //Persona personaRet = PersonaConverter.convert(per);
                    Usuario usuarioRet = UsuarioConverter.convert(per.usuario);
                    usuarioRet.persona = PersonaConverter.convert(per);

                    usuarioRet.persona.conductor  = ConductorConverter.convert(per.conductor);
                    usuarioRet.persona.admin      = AdminConverter.convert(per.admin);
                    usuarioRet.persona.superadmin = SuperAdminConverter.convert(per.superadmin);

                    return(usuarioRet);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Example #4
0
        public Usuario ObtenerUsuario(string correo)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    usuario u = db.usuario.Where(x => x.persona.correo.Equals(correo)).FirstOrDefault();
                    if (u == null)
                    {
                        return(null);
                    }

                    Usuario ret = UsuarioConverter.convert(u);
                    ret.persona            = PersonaConverter.convert(u.persona);
                    ret.persona.conductor  = ConductorConverter.convert(u.persona.conductor);
                    ret.persona.admin      = AdminConverter.convert(u.persona.admin);
                    ret.persona.superadmin = SuperAdminConverter.convert(u.persona.superadmin);

                    return(ret);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
Example #5
0
        public ICollection <Usuario> ListarUsuario()
        {
            try
            {
                using (uruguay_busEntities db = new uruguay_busEntities())
                {
                    ICollection <usuario> lst = (ICollection <usuario>)db.usuario.ToList();
                    ICollection <Usuario> ret = new List <Usuario>();

                    foreach (var item in lst)
                    {
                        Usuario u = UsuarioConverter.convert(item);
                        u.persona            = PersonaConverter.convert(item.persona);
                        u.persona.admin      = item.persona.admin == null ? null : AdminConverter.convert(item.persona.admin);
                        u.persona.superadmin = item.persona.superadmin == null ? null : SuperAdminConverter.convert(item.persona.superadmin);
                        u.persona.conductor  = item.persona.conductor == null ? null : ConductorConverter.convert(item.persona.conductor);

                        ret.Add(u);
                    }

                    return(ret);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public ICollection <Usuario> RegistrarPasoPorParada(int idParada, int idViaje)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    IDAL_Global           blg             = new DAL_Global();
                    ICollection <usuario> retSinConvertir = new List <usuario>();
                    viaje  v = db.viaje.Find(idViaje);
                    parada p = db.parada.Find(idParada);

                    if (v == null)
                    {
                        throw new Exception("No se encontro ningun viaje con ese ID");
                    }

                    if (p == null)
                    {
                        throw new Exception("No se encontro ninguna parada con ese ID");
                    }

                    vehiculo vh = v.horario.vehiculo;

                    paso_por_parada ppp = new paso_por_parada()
                    {
                        fecha_hora = DateTime.Now,
                        viaje      = v,
                        parada     = p
                    };

                    db.paso_por_parada.Add(ppp);

                    vh.latitud  = p.latitud;
                    vh.longitud = p.longitud;
                    db.SaveChanges();


                    ICollection <parada> paradasOrdenadas = ParadaConverter.convert(blg.obtenerParadasDeLinea(v.horario.linea.id));

                    parada siguienteParada = null;
                    for (int i = 0; i < paradasOrdenadas.Count; i++)
                    {
                        if (paradasOrdenadas.ElementAt(i).id == idParada && i + 1 < paradasOrdenadas.Count)
                        {
                            siguienteParada = paradasOrdenadas.ElementAt(i + 1);
                        }
                    }

                    if (siguienteParada == null)
                    {
                        return(new List <Usuario>());
                    }

                    retSinConvertir = siguienteParada.pasajes_origen
                                      .Where(x => x.usuario != null)
                                      .Select(x => x.usuario).ToList();

                    //foreach (var item in siguienteParada.pasaje1)
                    //{
                    //    retSinConvertir.Add(item.usuario);
                    //}

                    ICollection <Usuario> retConvertido = new List <Usuario>();

                    foreach (var item in retSinConvertir)
                    {
                        Usuario nuevo = UsuarioConverter.convert(item);
                        nuevo.persona = PersonaConverter.convert(item.persona);
                        retConvertido.Add(nuevo);
                    }

                    return(retConvertido);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }