コード例 #1
0
        public void IniciarViaje(int idViaje)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    viaje v = db.viaje.Find(idViaje);

                    if (v == null)
                    {
                        throw new Exception("No se encontro ningun viaje con ese ID");
                    }

                    if (v.finalizado == true)
                    {
                        throw new Exception("No se pudo marcar el viaje como iniciado porque ya está marcado como finalizado.");
                    }

                    v.finalizado = false;
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
コード例 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            viaje viaje = db.viaje.Find(id);

            db.viaje.Remove(viaje);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #3
0
 public static void asociarPasajes(viaje v, ICollection <pasaje> p)
 {
     foreach (var item in p)
     {
         item.viaje    = v;
         item.viaje_id = v.id;
         v.pasaje.Add(item);
     }
 }
コード例 #4
0
        //
        // GET: /Viaje/Details/5

        public ActionResult Details(int id = 0)
        {
            viaje viaje = db.viaje.Find(id);

            if (viaje == null)
            {
                return(HttpNotFound());
            }
            return(View(viaje));
        }
コード例 #5
0
        //
        // GET: /Viaje/Edit/5

        public ActionResult Edit(int id = 0)
        {
            viaje viaje = db.viaje.Find(id);

            if (viaje == null)
            {
                return(HttpNotFound());
            }
            ViewBag.idConductor  = new SelectList(db.conductor, "idConductor", "nombre", viaje.idConductor);
            ViewBag.idTransporte = new SelectList(db.transporte, "idTransporte", "nombre", viaje.idTransporte);
            ViewBag.idUsuario    = new SelectList(db.usuario, "idUsuario", "nombre", viaje.idUsuario);
            return(View(viaje));
        }
コード例 #6
0
 public ActionResult Edit(viaje viaje)
 {
     if (ModelState.IsValid)
     {
         db.Entry(viaje).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.idConductor  = new SelectList(db.conductor, "idConductor", "nombre", viaje.idConductor);
     ViewBag.idTransporte = new SelectList(db.transporte, "idTransporte", "nombre", viaje.idTransporte);
     ViewBag.idUsuario    = new SelectList(db.usuario, "idUsuario", "nombre", viaje.idUsuario);
     return(View(viaje));
 }
コード例 #7
0
        public static viaje convert(Viaje v)
        {
            if (v == null)
            {
                return(null);
            }

            viaje ret = new viaje()
            {
                id         = v.id,
                fecha      = v.fecha,
                finalizado = v.finalizado,
            };

            return(ret);
        }
コード例 #8
0
        public Viaje ObtenerViajeActual(int idConductor)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    viaje v = db.viaje.Where(x => x.finalizado == false && x.horario.conductor_id == idConductor).First();

                    return(ViajeConverter.convert(v));
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
コード例 #9
0
        public void TestViaje()
        {
            statusviaje status = CrearStatus();

            Assert.IsTrue(statusRepository.Create(status), statusRepository.Error);
            int idStatus = statusRepository.Read.Max(s => s.IdStatus);

            unidades unidad = CrearUnidades();

            Assert.IsTrue(unidadesRepository.Create(unidad), unidadesRepository.Error);
            int idUnidad = unidadesRepository.Read.Max(u => u.IdUnidad);

            ruta rutaViaje = CrearRuta(idUnidad);

            Assert.IsTrue(rutaRepository.Create(rutaViaje), rutaRepository.Error);
            int idRuta = rutaRepository.Read.Max(r => r.IdRuta);

            cliente clienteViaje = CrearCliente();

            Assert.IsTrue(clienteRepository.Create(clienteViaje), clienteRepository.Error);
            int idCliente = clienteRepository.Read.Max(c => c.IdCliente);

            operador op = CrearOperador();

            Assert.IsTrue(operadorRepository.Create(op), operadorRepository.Error);
            int idOPerador = operadorRepository.Read.Max(o => o.IdOperador);


            viaje nuevoViaje = CrearViaje(idStatus, idRuta, idCliente, idOPerador);

            Assert.IsTrue(viajeRepository.Create(nuevoViaje), viajeRepository.Error);
            int idViajeNuevo = viajeRepository.Read.Max(vj => vj.IdViajeSci);

            viaje aMOdificar = viajeRepository.SearchById(idViajeNuevo);

            aMOdificar.IdViajeCliente = "VIAJEFAURECIA";
            Assert.IsTrue(viajeRepository.Update(aMOdificar), viajeRepository.Error);



            Assert.IsTrue(viajeRepository.Delete(idViajeNuevo), viajeRepository.Error);
            Assert.IsTrue(operadorRepository.Delete(idOPerador), operadorRepository.Error);
            Assert.IsTrue(clienteRepository.Delete(idCliente), clienteRepository.Error);
            Assert.IsTrue(rutaRepository.Delete(idRuta), rutaRepository.Error);
            Assert.IsTrue(unidadesRepository.Delete(idUnidad), unidadesRepository.Error);
            Assert.IsTrue(statusRepository.Delete(idStatus), statusRepository.Error);
        }
コード例 #10
0
        private List <int> GetCantAsientosDisponiblies(viaje Viaje, int idParadaOrigen, int idParadaDestino)
        {
            DAL_Global DAL_G    = new DAL_Global();
            var        paradas  = DAL_G.obtenerParadasDeLinea(Viaje.horario.linea.id).Select(x => ParadaConverter.convert(x)).ToList();
            var        res      = new List <int>();
            List <int> ParadasI = ParadasIntermedias(Viaje.horario.linea.id, idParadaOrigen, idParadaDestino);

            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                for (int i = 1; i < Viaje.horario.vehiculo.cant_asientos; i++)
                {
                    var pasajesParaElAsiento = Viaje.pasaje.Where(x => x.asiento == i).ToList();
                    if (pasajesParaElAsiento.Count() == 0)
                    {
                        res.Add(i);
                    }
                    else
                    {
                        var asientoDisponible = true;
                        foreach (var pasaje in pasajesParaElAsiento)
                        {
                            if (ParadasI.Intersect(ParadasIntermedias(Viaje.horario.linea.id, pasaje.parada_id_origen, pasaje.parada_id_destino)).Count() == 0)
                            {
                                continue;
                            }
                            asientoDisponible = pasaje.parada_id_destino == idParadaOrigen ||
                                                pasaje.parada_id_origen == idParadaDestino;
                            if (!asientoDisponible)
                            {
                                break;
                            }
                        }
                        if (asientoDisponible)
                        {
                            res.Add(i);
                        }
                    }
                }
            }
            return(res);
        }
コード例 #11
0
        public ActionResult Solicitar(String vorigen, String vdestino, String vconductor)

        {
            int jj = Int32.Parse(vconductor);

            conductor vconductor2 = db.conductor.Where(p => p.idConductor == jj).FirstOrDefault();


            viaje vj = new viaje
            {
                origen       = vorigen,
                destino      = vdestino,
                fecha        = DateTime.Today,
                conductor    = vconductor2,
                idTransporte = vconductor2.idTransporte,
                idConductor  = Int32.Parse(vconductor),
                idEstado     = 3 //Solicitado
            };

            // Add the new object to the Orders collection.
            db.viaje.Add(vj);

            string datos = "ok";

            try {
                db.SaveChanges();
            }

            catch (DbEntityValidationException dbEx)
            {
                datos = "Surgio un error grabe" + dbEx.Message;
            }



            return(Json(datos, JsonRequestBehavior.AllowGet));;
        }
コード例 #12
0
        public ICollection <Usuario> RegistrarPasoPorParada(int idParada, int idViaje)
        {
            using (uruguay_busEntities db = new uruguay_busEntities())
            {
                try
                {
                    IDAL_Global           blg             = new DAL_Global();
                    ICollection <usuario> retSinConvertir = new List <usuario>();
                    viaje  v = db.viaje.Find(idViaje);
                    parada p = db.parada.Find(idParada);

                    if (v == null)
                    {
                        throw new Exception("No se encontro ningun viaje con ese ID");
                    }

                    if (p == null)
                    {
                        throw new Exception("No se encontro ninguna parada con ese ID");
                    }

                    vehiculo vh = v.horario.vehiculo;

                    paso_por_parada ppp = new paso_por_parada()
                    {
                        fecha_hora = DateTime.Now,
                        viaje      = v,
                        parada     = p
                    };

                    db.paso_por_parada.Add(ppp);

                    vh.latitud  = p.latitud;
                    vh.longitud = p.longitud;
                    db.SaveChanges();


                    ICollection <parada> paradasOrdenadas = ParadaConverter.convert(blg.obtenerParadasDeLinea(v.horario.linea.id));

                    parada siguienteParada = null;
                    for (int i = 0; i < paradasOrdenadas.Count; i++)
                    {
                        if (paradasOrdenadas.ElementAt(i).id == idParada && i + 1 < paradasOrdenadas.Count)
                        {
                            siguienteParada = paradasOrdenadas.ElementAt(i + 1);
                        }
                    }

                    if (siguienteParada == null)
                    {
                        return(new List <Usuario>());
                    }

                    retSinConvertir = siguienteParada.pasajes_origen
                                      .Where(x => x.usuario != null)
                                      .Select(x => x.usuario).ToList();

                    //foreach (var item in siguienteParada.pasaje1)
                    //{
                    //    retSinConvertir.Add(item.usuario);
                    //}

                    ICollection <Usuario> retConvertido = new List <Usuario>();

                    foreach (var item in retSinConvertir)
                    {
                        Usuario nuevo = UsuarioConverter.convert(item);
                        nuevo.persona = PersonaConverter.convert(item.persona);
                        retConvertido.Add(nuevo);
                    }

                    return(retConvertido);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
コード例 #13
0
        public void TestGasto()
        {
            statusviaje status = CrearStatus();

            Assert.IsTrue(statusRepository.Create(status), statusRepository.Error);
            int idStatus = statusRepository.Read.Max(s => s.IdStatus);

            unidades unidad = CrearUnidades();

            Assert.IsTrue(unidadesRepository.Create(unidad), unidadesRepository.Error);
            int idUnidad = unidadesRepository.Read.Max(u => u.IdUnidad);

            ruta rutaViaje = CrearRuta(idUnidad);

            Assert.IsTrue(rutaRepository.Create(rutaViaje), rutaRepository.Error);
            int idRuta = rutaRepository.Read.Max(r => r.IdRuta);

            cliente clienteViaje = CrearCliente();

            Assert.IsTrue(clienteRepository.Create(clienteViaje), clienteRepository.Error);
            int idCliente = clienteRepository.Read.Max(c => c.IdCliente);

            operador op = CrearOperador();

            Assert.IsTrue(operadorRepository.Create(op), operadorRepository.Error);
            int idOPerador = operadorRepository.Read.Max(o => o.IdOperador);


            viaje nuevoViaje = CrearViaje(idStatus, idRuta, idCliente, idOPerador);

            Assert.IsTrue(viajeRepository.Create(nuevoViaje), viajeRepository.Error);
            int idViajeNuevo = viajeRepository.Read.Max(vj => vj.IdViajeSci);

            tipogasto tipoGastoNuevo = CrearTipoGasto();

            Assert.IsTrue(tipoGastoRepository.Create(tipoGastoNuevo), tipoGastoRepository.Error);
            int idTipoGastoNuevo = tipoGastoRepository.Read.Max(tg => tg.IdTipoGasto);

            gasto nuevoGasto = CrearGasto(idTipoGastoNuevo, idViajeNuevo);

            Assert.IsTrue(gastoRepository.Create(nuevoGasto), gastoRepository.Error);
            int idGastoNuevo = gastoRepository.Read.Max(id => id.IdGasto);

            /*
             * gasto aModificar = gastoRepository.SearchById(idGastoNuevo.ToString());
             * aModificar.RutaPdf = @"C:\comprobante\gasto.xml";
             * Assert.IsTrue(gastoRepository.Update(aModificar), gastoRepository.Error);
             *
             * for (int i = 0; i < 10; i++)
             * {
             *  Assert.IsTrue(gastoRepository.Create(CrearGasto(idTipoGastoNuevo, idViajeNuevo)), gastoRepository.Error);
             * }
             *
             *
             * for (int i = 0; i < 10; i++)
             * {
             *  Assert.IsTrue(cortesRepository.Create(CrearCorteOperador(idViajeNuevo)), cortesRepository.Error);
             * }
             *
             *
             * List<gasto> Gastos = gastoRepository.Read.ToList();
             *
             * foreach (var item in Gastos)
             * {
             *  Assert.IsTrue(gastoRepository.Delete(item.IdGasto.ToString()), gastoRepository.Error);
             * }
             *
             * List<cortesoperador> cortes = cortesRepository.Read.ToList();
             *
             * foreach (var item in cortes)
             * {
             *  Assert.IsTrue(cortesRepository.Delete(item.IdCorte.ToString()), cortesRepository.Error);
             * }
             *
             *
             *
             * Assert.IsTrue(tipoGastoRepository.Delete(idTipoGastoNuevo.ToString()), tipoGastoRepository.Error);
             * Assert.IsTrue(viajeRepository.Delete(idViajeNuevo.ToString()), viajeRepository.Error);
             * Assert.IsTrue(operadorRepository.Delete(idOPerador.ToString()), operadorRepository.Error);
             * Assert.IsTrue(clienteRepository.Delete(idCliente.ToString()), clienteRepository.Error);
             * Assert.IsTrue(rutaRepository.Delete(idRuta.ToString()), rutaRepository.Error);
             * Assert.IsTrue(unidadesRepository.Delete(idUnidad.ToString()), unidadesRepository.Error);
             * Assert.IsTrue(statusRepository.Delete(idStatus.ToString()), statusRepository.Error);
             *
             */
        }