//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");
        }
Example #3
0
        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));
            }
        }