/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }