Beispiel #1
0
        public ActionResult Suspend(ViajeListViewModel viajeVm)
        {
            var viajeEnProceso = _dbContext.Viajes.
                                 SingleOrDefault(v => v.ViajeId == viajeVm.ViajeId);

            viajeEnProceso.Estado = EstadoViaje.Suspendido;
            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    _dbContext.Entry(viajeEnProceso).State = EntityState.Modified;
                    var autoEnViaje = _dbContext.Autos.SingleOrDefault(a => a.AutoId == viajeEnProceso.AutoId);
                    autoEnViaje.Disponible = true;
                    _dbContext.Entry(autoEnViaje).State = EntityState.Modified;
                    _dbContext.SaveChanges();
                    tran.Commit();
                    TempData["Msg"] = "Viaje suspendido...";
                    return(RedirectToAction("Index"));
                }
                catch (Exception)
                {
                    ModelState.AddModelError(String.Empty, "Error al intentar suspender un viaje");
                    tran.Rollback();
                    return(View(viajeVm));
                }
            }
        }
Beispiel #2
0
        public ActionResult Suspend(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Viaje viaje = _dbContext.Viajes
                          .Include(v => v.Auto)
                          .Include(v => v.Usuario)
                          .SingleOrDefault(v => v.ViajeId == id);

            if (viaje == null && viaje.Estado != EstadoViaje.EnProceso)
            {
                return(HttpNotFound("Código de viaje erróneo o viaje no En Proceso..."));
            }

            var viajeVm = new ViajeListViewModel
            {
                ViajeId         = viaje.ViajeId,
                MovilId         = viaje.Auto.MovilId,
                Cliente         = viaje.Usuario.NombreApellido,
                FechaHoraSalida = viaje.FechaHoraSalida,
                EstadoViaje     = viaje.Estado
            };

            return(View(viajeVm));
        }
Beispiel #3
0
        private List <ViajeListViewModel> ConstruirListaViajeListViewModel(List <Viaje> listaViajes)
        {
            List <ViajeListViewModel> listaVm = new List <ViajeListViewModel>();

            foreach (var viaje in listaViajes)
            {
                ViajeListViewModel viajeVm = new ViajeListViewModel
                {
                    ViajeId          = viaje.ViajeId,
                    MovilId          = viaje.Auto.MovilId,
                    Cliente          = viaje.Usuario.NombreApellido,
                    FechaHoraSalida  = viaje.FechaHoraSalida,
                    FechaHoraLlegada = viaje.FechaHoraLlegada,
                    Costo            = viaje.Costo,
                    EstadoViaje      = viaje.Estado
                };
                listaVm.Add(viajeVm);
            }

            return(listaVm);
        }