//public async Task<IEnumerable<Pedido>> GetPedidosPendientes(string userId, int id) //{ // await validateUserId(userId); // var pedidosEntities = (await ARBRepository.GetAllPedidosByDestiatarioId(id)); // var pedidos = mapper.Map<IEnumerable<Pedido>>(pedidosEntities).Where(p => (p.Status == "Creado") && (p.DestinatarioId == id)); // return pedidos; //} public async Task <Destinatario> UpdateDestinatarioBySolicitud(SolicitudUbicacion solicitud) { var destinatariosEntity = await ARBRepository.GetAllDestinatariosByRepartidor(); var destinatarioEntity = destinatariosEntity.ToList().Find(d => d.Id == solicitud.DestinatarioId); destinatarioEntity.latitude = solicitud.latitude; destinatarioEntity.longitude = solicitud.longitude; destinatarioEntity.Pedidos = null; var destinatario = mapper.Map <Destinatario>(destinatarioEntity); return(await UpdateDestinatarioAsync(destinatario.UsuarioId, destinatario.Id, destinatario)); }
public async Task <SolicitudUbicacion> UpdateSolicitudAsync(int destinatarioId, string id, SolicitudUbicacion solicitud) { if (id != solicitud.Id) { throw new NotFoundItemException($"not found solicitud with id:{id}"); } await validateDestinoId(destinatarioId); solicitud.Id = id; solicitud.isEdited = true; var solicitudEntity = mapper.Map <SolicitudUbicacionEntity>(solicitud); ARBRepository.UpdateSolicitudAsync(solicitudEntity); if (await ARBRepository.SaveChangesAsync()) { return(mapper.Map <SolicitudUbicacion>(solicitudEntity)); } throw new Exception("there were an error with the BD"); }
public async Task <ActionResult <SolicitudUbicacion> > UpdateUbicacion(int idDestino, string id, [FromBody] SolicitudUbicacion solicitud) { try { var solicitudUpdated = await this.solicitudService.UpdateSolicitudAsync(idDestino, id, solicitud); return(Ok(solicitudUpdated)); } catch (NotFoundItemException ex) { return(NotFound(ex.Message)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }