Exemplo n.º 1
0
 public RepartidorResponse ToRepartidorResponse(RepartidorEntity repartidorEntity)
 {
     return(new RepartidorResponse
     {
         IdRepartidor = repartidorEntity.IdRepartidor,
         Placa = repartidorEntity.Placa,
         Viajes = repartidorEntity.Viajes?.Select(r => new ViajeResponse
         {
             FechaFin = r.FechaFin,
             IdViaje = r.IdViaje,
             Calificacion = r.Calificacion,
             Comentarios = r.Comentarios,
             Destino = r.Destino,
             DestinoLatitud = r.DestinoLatitud,
             DestinoLongitud = r.DestinoLongitud,
             FechaInicio = r.FechaInicio,
             Origen = r.Origen,
             OrigenLatitud = r.OrigenLatitud,
             OrigenLongitud = r.OrigenLongitud,
             DetalleViajes = r.DetalleViajes?.Select(td => new ViajeDetalleResponse
             {
                 Fecha = td.Fecha,
                 IdDetalleViaje = td.IdDetalleViaje,
                 Latitud = td.Latitud,
                 Longitud = td.Longitud
             }).ToList(),
             Usuario = ToUsuarioResponse(r.Usuario)            // el que hace uso
         }).ToList(),
         Usuario = ToUsuarioResponse(repartidorEntity.Usuario) //conductor
     });
 }
Exemplo n.º 2
0
        public async Task <IActionResult> Create(RepartidorEntity repartidorEntity)
        {
            if (ModelState.IsValid)
            {
                repartidorEntity.Placa = repartidorEntity.Placa.ToUpper();
                _context.Add(repartidorEntity);
                try
                {
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException.Message.Contains("duplicate"))
                    {
                        ModelState.AddModelError(string.Empty, "Esta placa ya se encuetra registrada.");
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, ex.InnerException.Message);
                    }
                }
            }
            return(View(repartidorEntity));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(int id, RepartidorEntity repartidorEntity)
        {
            if (id != repartidorEntity.IdRepartidor)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                repartidorEntity.Placa = repartidorEntity.Placa.ToUpper();
                _context.Update(repartidorEntity);
                try
                {
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException.Message.Contains("duplicate"))
                    {
                        ModelState.AddModelError(string.Empty, "Esta placa ya se encuentra  registrada.");
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, ex.InnerException.Message);
                    }
                }

                //try
                //{
                //    repartidorEntity.Placa = repartidorEntity.Placa.ToUpper();
                //    _context.Update(repartidorEntity);
                //    await _context.SaveChangesAsync();
                //}
                //catch (DbUpdateConcurrencyException)
                //{
                //    if (!RepartidorEntityExists(repartidorEntity.IdRepartidor))
                //    {
                //        return NotFound();
                //    }
                //    else
                //    {
                //        throw;
                //    }
                //}
                //return RedirectToAction(nameof(Index));
            }
            return(View(repartidorEntity));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> GetRepartidorEntity([FromRoute] string placa)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            RepartidorEntity repartidorEntity = await _context.Repartidores
                                                .Include(r => r.Usuario) // codcutore
                                                .Include(r => r.Viajes)
                                                .ThenInclude(r => r.DetalleViajes)
                                                .Include(r => r.Viajes)
                                                .ThenInclude(r => r.Usuario) // usuario pedido
                                                .FirstOrDefaultAsync(r => r.Placa == placa);

            if (repartidorEntity == null)
            {
                return(NotFound());
            }

            return(Ok(_converterHelper.ToRepartidorResponse(repartidorEntity)));
        }
Exemplo n.º 5
0
 public void CreateRepartidor(RepartidorEntity repartidor)
 {
     ARBDbContext.Repartidores.Add(repartidor);
 }
Exemplo n.º 6
0
 public void UpdateRepartidorAsync(RepartidorEntity repartidor)
 {
     ARBDbContext.Repartidores.Update(repartidor);
 }