Example #1
0
        static public Viaje eviajeAViaje(EViaje Evi)
        {
            Viaje vi = new Viaje();

            vi.IdViaje        = Evi.IdViaje;
            vi.Finalizado     = Evi.Finalizado;
            vi.Fecha          = Evi.Fecha;
            vi.HoraInicioReal = Evi.HoraInicioReal;
            vi.IdSalida       = Evi.IdSalida;
            List <Pasaje> lst = new List <Pasaje>();

            foreach (var s in Evi.Pasaje)
            {
                lst.Add(epasajeAPasaje(s));
            }
            vi.Pasaje = lst;

            List <Llegada> lst2 = new List <Llegada>();

            foreach (var s in Evi.Llegada)
            {
                lst2.Add(ellegadaAllegada(s));
            }
            vi.Llegada = lst2;
            return(vi);
        }
Example #2
0
        static public EViaje viajeAEViaje(Viaje vi)
        {
            if (vi == null)
            {
                return(null);            //Si recibe un null retorna null
            }
            EViaje Evi = new EViaje();

            Evi.IdViaje        = vi.IdViaje;
            Evi.Finalizado     = vi.Finalizado;
            Evi.Fecha          = vi.Fecha;
            Evi.HoraInicioReal = vi.HoraInicioReal;
            Evi.IdSalida       = vi.IdSalida;
            List <EPasaje> lst = new List <EPasaje>();

            foreach (var s in vi.Pasaje)
            {
                lst.Add(pasajeAEPasaje(s));
            }
            Evi.Pasaje = lst;

            List <ELlegada> lst2 = new List <ELlegada>();

            foreach (var s in vi.Llegada)
            {
                lst2.Add(llegadaAEllegada(s));
            }
            Evi.Llegada = lst2;
            return(Evi);
        }
Example #3
0
        /*
         *      public List<EViaje> GetViajes(int IdSalida)
         *      {
         *          return iSalida.getSalidas(IdSalida).Viaje.ToList();
         *      }
         */
        public List <int> GetAsientos(int fechaSelected)
        {
            EViaje         viaje              = iViaje.getViaje(fechaSelected);
            ESalida        salida             = iSalida.getSalidas(viaje.IdSalida);
            EVehiculo      vehiculo           = iVehiculo.getVehiculos(salida.IdVehiculo);
            int            cantidadDeAsientos = vehiculo.CantAsientos;
            List <EPasaje> lstPasajes         = viaje.Pasaje.ToList();

            List <int> lstPasajesOcupados = new List <int>();

            foreach (var pasaje in lstPasajes)
            {
                if (pasaje.Asientos != null)
                {
                    lstPasajesOcupados.Add((int)pasaje.Asientos);
                }
            }
            List <int> listaTotal = new List <int>();

            for (int i = 1; i <= cantidadDeAsientos; i++)
            {
                listaTotal.Add(i);
            }
            List <int> asientosLibres = listaTotal.Except(lstPasajesOcupados).ToList();

            return(asientosLibres);
        }
Example #4
0
        private void lsFs_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (lsFs.SelectedIndex < 0)
            {
                cargarAsientos(null);
                return;
            }


            Service1Client s = new Service1Client();

            PrecioSelected = s.precioDelPasaje(lineaSelected.IdLinea, paradaOSelected.IdParada, paradaDSelected.IdParada);
            if (s.canSelectSeat(lineaSelected.IdLinea, paradaOSelected.IdParada, paradaDSelected.IdParada))
            {
                fechaSelected = (EViaje)lsFs.SelectedValue;
                cargarAsientos(fechaSelected);
                lsA.Visibility = System.Windows.Visibility.Visible;
                lbA.Visibility = System.Windows.Visibility.Visible;
            }
            else
            {
                fechaSelected     = (EViaje)lsFs.SelectedValue;
                btnSig.Visibility = System.Windows.Visibility.Visible;
            }
        }
Example #5
0
        public EViaje addViaje(bool finalizdo, DateTime Fecha, int IdSalida)
        {
            try
            {
                using (uybusEntities db = new uybusEntities())
                {
                    Viaje v = new Viaje();
                    if (finalizdo)
                    {
                        v.Finalizado = 1;
                    }
                    if (!finalizdo)
                    {
                        v.Finalizado = 0;
                    }
                    v.Fecha    = Fecha;
                    v.IdSalida = IdSalida;
                    db.Viaje.Add(v);
                    db.SaveChanges();

                    EViaje ev = new EViaje();
                    ev = Converter.viajeAEViaje(v);
                    return(ev);
                }
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Example #6
0
        private float utilidadPorViaje(int idViaje)
        {
            EViaje ev = iViaje.getViaje(idViaje);

            if (ev == null)
            {
                return(-1);
            }
            int cantAsientos = iVehiculo.getVehiculos(iSalida.getSalidas(ev.IdSalida).IdVehiculo).CantAsientos;
            int idLinea      = iSalida.getSalidas(iViaje.getViaje(idViaje).IdSalida).IdLinea;

            int maxCostoPsaje = 0;

            foreach (var tramo in iLinea.getLinea(idLinea).Tramo.ToList())
            {
                maxCostoPsaje = maxCostoPsaje + valorVigente(idLinea, tramo.IdParada);
            }

            int maxUtilidad = maxCostoPsaje * cantAsientos;


            int costoPasajes = 0;

            foreach (var pasaje in iViaje.getViaje(idViaje).Pasaje.ToList())
            {
                costoPasajes = costoPasajes + costoEntreParadas(idLinea, pasaje.IdParadaOrigen, pasaje.IdParadaDestino);
            }
            float utilidad = (float)costoPasajes / (float)maxUtilidad;

            return(utilidad);
        }
Example #7
0
        public ActionResult iniciarViaje(int id)
        {
            EViaje ev = new EViaje();

            ev.IdViaje        = id;
            ev.HoraInicioReal = null;
            return(View(ev));
        }
Example #8
0
 private void cargarAsientos(EViaje fechaSelected)
 {
     if (fechaSelected != null)
     {
         Service1Client s = new Service1Client();
         lsA.ItemsSource = s.GetAsientos(fechaSelected.IdViaje);
     }
 }
Example #9
0
        private List <EPasaje> pasajesDeViaje(int viaje)
        {
            EViaje v = iViaje.getViaje(viaje);

            if (v == null)
            {
                return(new List <EPasaje>());
            }
            return(v.Pasaje.ToList());
        }
Example #10
0
        public List <EViaje> crearViajes(DateTime fechaInicio, DateTime fechaFinal, List <Dias> diasSemana, int idSalida)
        {
            List <EViaje>   viajes = new List <EViaje>();
            List <DateTime> fechas = new List <DateTime>();

            fechas = getFechas(fechaInicio, fechaFinal, diasSemana);

            foreach (var f in fechas)
            {
                EViaje ev = new EViaje();
                ev = iViaje.addViaje(false, f, idSalida);
                viajes.Add(ev);
            }

            return(viajes);
        }
Example #11
0
        public documento(ELinea _lineaSelected, EParada _paradaOSelected, EParada _paradaDSelected, ESalida _SalidaSelected, EViaje _fechaSelected, int _AsientoSelected, int _PrecioSelected)
        {
            InitializeComponent();
            lineaSelected   = _lineaSelected;
            paradaOSelected = _paradaOSelected;
            paradaDSelected = _paradaDSelected;
            SalidaSelected  = _SalidaSelected;
            fechaSelected   = _fechaSelected;
            AsientoSelected = _AsientoSelected;
            PrecioSelected  = _PrecioSelected;

            btnComprar.Visibility = System.Windows.Visibility.Hidden;
            tbDoc.Visibility      = System.Windows.Visibility.Hidden;
            lbV.Content           = "$ " + PrecioSelected.ToString();

            //btnSig.IsEnabled = false;
        }
Example #12
0
 public EViaje getViaje(int idViaje)
 {
     try
     {
         using (uybusEntities db = new uybusEntities())
         {
             Viaje v = db.Viaje.Find(idViaje);
             if (v == null)
             {
                 return(null);
             }
             EViaje ev = new EViaje();
             ev = Converter.viajeAEViaje(v);
             return(ev);
         }
     }
     catch (System.Exception ex)
     {
         throw ex;
     }
 }
Example #13
0
        private EParada ultimaParada(int idViaje)
        {
            EViaje          ev       = iViaje.getViaje(idViaje);
            List <ELlegada> llegadas = ev.Llegada.ToList();

            llegadas.OrderBy(d => d.fecha);
            DateTime        ultimaF      = llegadas.Last().fecha;
            List <ELlegada> ultllegadasF = new List <ELlegada>();

            foreach (var item in llegadas)
            {
                if (item.fecha == ultimaF)
                {
                    ultllegadasF.Add(item);
                }
            }
            ultllegadasF.OrderBy(d => d.hora);
            ELlegada ultimaLLeg = ultllegadasF.Last();

            return(iParada.getParada(ultimaLLeg.idParada));
        }
Example #14
0
 public void finalizarViaje(int idViaje)
 {
     try
     {
         using (uybusEntities db = new uybusEntities())
         {
             Viaje v = db.Viaje.Find(idViaje);
             if (v != null)
             {
                 EViaje ev = new EViaje();
                 v.Finalizado      = 1;
                 db.Entry(v).State = EntityState.Modified;
                 db.SaveChanges();
             }
         }
     }
     catch (System.Exception ex)
     {
         throw ex;
     }
 }
Example #15
0
        public IHttpActionResult editarViaje(int IdViaje, [FromBody] DTOViaje viaje)
        {
            try
            {
                TimeSpan?FIR = null;
                if (viaje.HoraInicioReal != null)
                {
                    FIR = TimeSpan.Parse(viaje.HoraInicioReal);
                }
                EViaje v = cAdmin.editarViaje(viaje.IdViaje, viaje.Finalizado, Convert.ToDateTime(viaje.Fecha), FIR, viaje.IdSalida);

                if (v != null)
                {
                    return(Ok(v));
                }
                return(Content(HttpStatusCode.NotFound, "el viaje seleccionado ya existe"));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
Example #16
0
 public EViaje iniciarViaje(int idViaje, TimeSpan HoraInicioReal)
 {
     try
     {
         using (uybusEntities db = new uybusEntities())
         {
             Viaje v = db.Viaje.Find(idViaje);
             if (v == null)
             {
                 return(null);
             }
             EViaje ev = new EViaje();
             v.HoraInicioReal  = HoraInicioReal;
             db.Entry(v).State = EntityState.Modified;
             db.SaveChanges();
             ev = Converter.viajeAEViaje(v);
             return(ev);
         }
     }
     catch (System.Exception ex)
     {
         throw ex;
     }
 }
Example #17
0
        public List <EViaje> getAllViajes()
        {
            try
            {
                using (uybusEntities db = new uybusEntities())
                {
                    List <EViaje> lstEv = new List <EViaje>();

                    var viajes = db.Viaje;

                    foreach (var v in viajes)
                    {
                        EViaje ev = new EViaje();
                        ev = Converter.viajeAEViaje(v);
                        lstEv.Add(ev);
                    }
                    return(lstEv);
                }
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Example #18
0
 public ActionResult iniciarViaje(EViaje ev)
 {
     pxc.iniciarViaje(ev.IdViaje, ev.HoraInicioReal.ToString(), Session["tokenJWT"].ToString());
     return(RedirectToAction("traerViajes"));
 }
Example #19
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="idViaje"></param>
        /// <param name="idUsuario"> -1 si el usuario no esta logeado. </param>
        /// <param name="idParadaOrigen"></param>
        /// <param name="idParadaDestino"></param>
        /// <param name="tipoDoc"> "vacio" si el usaurio esta logeado.</param>
        /// <param name="documento"> "vacio" si el usaurio esta  logeado.</param>
        /// <param name="asiento"> Se gurdara -1 si, el costo de pasaje es inferior al parĂ¡metro.</param>
        /// <returns></returns>
        public EPasaje comprarPasaje(int idViaje, int idUsuario, int idParadaOrigen, int idParadaDestino, string tipoDoc, string documento, int asiento)
        {
            EViaje ev = iViaje.getViaje(idViaje);

            if (ev == null)
            {
                return(null);            //Si no encuentra el viaje retorna null
            }
            ESalida es = iSalida.getSalidas(ev.IdSalida);

            if (es == null)
            {
                return(null);            //Si no encuentra una salida retorna null
            }
            ELinea el = iLinea.getLinea(es.IdLinea);

            if (el == null)
            {
                return(null);            //Si no encuentra una linea retorna null
            }
            List <ETramo> tramos     = el.Tramo.ToList <ETramo>();
            int           posOrigen  = -1;
            int           posdestino = -1;

            foreach (var t in tramos)
            {
                if (t.IdLinea == el.IdLinea && t.IdParada == idParadaOrigen)
                {
                    posOrigen = tramos.IndexOf(t);
                }
                if (t.IdLinea == el.IdLinea && t.IdParada == idParadaDestino)
                {
                    posdestino = tramos.IndexOf(t);
                }
            }

            List <ETramo> subTramos = new List <ETramo>();

            for (int e = posOrigen; e <= posdestino; e++)
            {
                subTramos.Add(tramos.ElementAt(e));
            }

            int cosotP = 0;

            foreach (var s in subTramos)
            {
                cosotP = cosotP + iTramo.valorVigente(s.IdLinea, s.IdParada);
            }

            EParametro epara = iParametro.getAllParametros().Last();

            if (epara.Valor > cosotP)
            {
                asiento = -1;
            }

            EPasaje ep = new EPasaje();

            if (idUsuario == -1) //Usuario NOO logeado
            {
                ep = iPasaje.addPasaje(asiento, documento, tipoDoc, idViaje, idParadaDestino, idParadaOrigen, idUsuario);
            }
            else //Usuario Logeado
            {
                EPersona epe = iPersona.getPersona(idUsuario);
                string   strTipoDoc;
                if (epe.TipoDocumento == 1)
                {
                    strTipoDoc = "CI";
                }
                else
                {
                    strTipoDoc = "Credencial";
                }

                ep = iPasaje.addPasaje(asiento, epe.Documento, strTipoDoc, idViaje, idParadaDestino, idParadaOrigen, idUsuario);

                EPersona eper    = iPersona.getPersona(idUsuario);
                string   correoE = eper.Correo;



                enviarCorreo(correoE, ep.IdPasaje.ToString(), eper, ep, cosotP);//generar pdf con codigo QR y enviarlo
            }

            return(ep);
        }