/// <summary>
        /// se devuelve el chofer con el id seleccionado
        /// se desencripta antes de devolverlo
        /// </summary>
        /// <param name="idChofer"></param>
        /// <returns>Chofer</returns>
        public async Task <Chofer> getChofer(string idChofer)
        {
            try
            {
                if (idChofer != null)
                {
                    Chofer chofer = await DBRepositoryMongo <Chofer> .GetItemAsync(idChofer, "Choferes");

                    chofer = chofer.Desencriptar(chofer);
                    return(chofer);
                }
                else
                {
                    throw new MensajeException("El Id del chofer no existe");
                }
            }
            catch (MensajeException msg)
            {
                throw msg;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// se elimina el vehiculo y se actualiza el estado del chofer.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="vehiculo"></param>
        /// <returns></returns>
        public async Task eliminarVehiculo(string id)
        {
            try
            {
                if (id != null)
                {
                    Vehiculo eliminar = await DBRepositoryMongo <Vehiculo> .GetItemAsync(id, "Vehiculos");

                    await DBRepositoryMongo <Vehiculo> .DeleteAsync(id, "Vehiculos");

                    Vehiculos.Remove(eliminar);
                    eliminar.Chofer.Disponible = true;
                    await DBRepositoryMongo <Chofer> .UpdateAsync(eliminar.Chofer.Id, eliminar.Chofer, "Choferes");
                }
                else
                {
                    throw new MensajeException("Ha ocurrido un error inesperado vuelva a intentarlo mas tarde");
                }
            }
            catch (MensajeException msg)
            {
                throw msg;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
 /// <summary>
 /// DEVUELVE UNA LISTA DE LOS CLIENTES QUE HAY EN EL SISTEMA
 /// </summary>
 /// <param name="id"></param>
 /// <returns>LISTA DE CLIENTE</returns>
 public async Task<Cliente> getCliente(string id)
 {
     Cliente cliente = null;
     if (id == null)
     {
         throw new MensajeException("Id de usuario inexistente");
     }
     else
     {
         cliente = await DBRepositoryMongo<Cliente>.GetItemAsync(id, "Clientes");
         cliente = cliente.Desencriptar(cliente);
         return cliente;
     }
 }
예제 #4
0
 /// <summary>
 /// DEVUELVE EL CHOFER CON EL ID SOLICITADO
 /// </summary>
 /// <param name="id"></param>
 /// <returns>CHOFER</returns>
 public async Task<Chofer> getChofer(string id)
 {
     Chofer usuario = null;
     if (id == null)
     {
         throw new MensajeException("Id de usuario inexistente");
     }
     else
     {
         usuario = await DBRepositoryMongo<Chofer>.GetItemAsync(id, "Choferes");
         usuario.Desencriptar(usuario);
         return usuario;
     }
 }
예제 #5
0
 /// <summary>
 /// DEVUELVE EL ADMINISTRATIVO CON EL SOLICITADO
 /// </summary>
 /// <param name="id"></param>
 /// <returns>ADMINISTRATIVO</returns>
 public async Task<Administrativo>getAdministrativo(string id)
 {
     Administrativo administrativo = null;
     if (id == null)
     {
         throw new MensajeException("Id de usuario inexistente");
     }
     else
     {
         administrativo = await DBRepositoryMongo<Administrativo>.GetItemAsync(id, "Administrativos");
         administrativo = administrativo.Desencriptar(administrativo);
         return administrativo;
     }
 }
        /// <summary>
        /// se toma en cuenta los vehiculos de la bd. se utiliza para el abm
        /// </summary>
        /// <param name="idVehiculo"></param>
        /// <returns>vehiculo solicitado</returns>
        public async Task <Vehiculo> getVehiculoBaseDatos(string idVehiculo)
        {
            try
            {
                Vehiculo vehiculo = await DBRepositoryMongo <Vehiculo> .GetItemAsync(idVehiculo, "Vehiculos");

                return(vehiculo);
            }
            catch (MensajeException msg)
            {
                throw msg;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #7
0
 /// <summary>
 /// DEVUELVE EL PEON CON EL ID SOLICITADO
 /// </summary>
 /// <param name="idPeon"></param>
 /// <returns>PEON</returns>
 public async Task<Peon> getPeon(string idPeon)
 {
     try
     {
         Peon peon = await DBRepositoryMongo<Peon>.GetItemAsync(idPeon, "Peones");
         peon = peon.Desencriptar(peon);
         return peon;
     }
     catch (MensajeException msg)
     {
         throw msg;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        /// <summary>
        /// devuelve una lista de vehiculos con la posicion satelital actualizada segun el hash de posiciones que hay en memoria
        /// </summary>
        /// <returns>lista de vehiculos</returns>
        public async Task <List <Vehiculo> > vehiculosConPosicion()
        {
            try
            {
                List <PosicionSatelital> posicionesFletes  = obtenerUbicacionesVehiculosFletes();
                List <PosicionSatelital> posicionesMudanza = obtenerUbicacionesVehiculosMudanza();
                List <PosicionSatelital> aux = new List <PosicionSatelital>();
                foreach (PosicionSatelital p in posicionesFletes)
                {
                    aux.Add(p);
                }
                foreach (PosicionSatelital p in posicionesMudanza)
                {
                    aux.Add(p);
                }
                List <Vehiculo> salida = new List <Vehiculo>();
                if (posicionesFletes != null && aux.Count > 0)
                {
                    foreach (PosicionSatelital pos in aux)
                    {
                        Vehiculo v = await DBRepositoryMongo <Vehiculo> .GetItemAsync(pos.Id, "Vehiculos");

                        if (v != null)
                        {
                            v.PosicionSatelital = pos;
                            salida.Add(v);
                        }
                    }
                }
                return(salida);
            }
            catch (MensajeException msg)
            {
                throw msg;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }