예제 #1
0
 public List <Reserva> ReservarPasaje()
 {
     if (IsValid())
     {
         foreach (var cabina in Cabinas.Where(x => IdsCabinasSeleccionadas.Contains(x.IdCabina)))
         {
             int cod_reserva = PasajeDAO.ReservarPasaje(
                 cabina.PorcentajeRecargo * Viajes.FirstOrDefault(x => x.IdRutaDeViaje == _RutaDeViajeSeleccionada).CalcularCostoDeRuta(),
                 cabina.IdCabina,
                 RutaDeViajeSeleccionada.Value,
                 Cliente.DNI
                 );
             Reserva reserva = new Reserva()
             {
                 Cabina      = cabina.MapToDomainObject(),
                 Cliente     = null,
                 Cod_Reserva = cod_reserva,
                 Estado      = null,
                 Precio      = _Monto,
                 Ruta        = null
             };
             this.PasajesReservados.Add(reserva);
         }
         return(PasajesReservados);
     }
     else
     {
         return(null);
     }
 }
예제 #2
0
        //Método para crear viajes
        public bool CrearViaje(Viajes viajes)
        {
            try
            {
                SqlConnection conexion = new SqlConnection(cadena);
                SqlCommand    comando  = new SqlCommand();
                string        sentenciaSQL;

                sentenciaSQL = @"INSERT INTO VIAJES (Id_Conductor, PuntoPartida, PuntoDestino, Desc_Viaje, Can_Horas, Estado) 
                            VALUES (@Id_Conductor, @PuntoPartida, @PuntoDestino, @Desc_Viaje, @Can_Horas, @Estado)";

                comando.CommandType = CommandType.Text;
                comando.CommandText = sentenciaSQL;
                comando.Parameters.AddWithValue("@Id_Conductor", viajes.Id_Conductor);
                comando.Parameters.AddWithValue("@PuntoPartida", viajes.PuntoPartida);
                comando.Parameters.AddWithValue("@PuntoDestino", viajes.PuntoDestino);
                comando.Parameters.AddWithValue("@Desc_Viaje", viajes.Desc_Viaje);
                comando.Parameters.AddWithValue("@Can_Horas", viajes.Can_Horas);
                comando.Parameters.AddWithValue("@Estado", viajes.Estado);

                comando.Connection = conexion;

                conexion.Open();

                comando.ExecuteNonQuery();

                conexion.Close();

                return(true);
            }
            catch (System.Exception ex)
            {
                return(false);
            }
        }
        public void BajaViajeNacionales(Viajes V)
        {
            SqlConnection DBCS    = Conexion.CrearCnn();
            Nacionales    N       = (Nacionales)V;
            SqlCommand    comando = new SqlCommand("BajaViajeNacional", DBCS);

            comando.CommandType = CommandType.StoredProcedure;
            comando.Parameters.Add(new SqlParameter("@Numero", N.numero));
            SqlParameter retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            retorno.Direction = ParameterDirection.ReturnValue;
            comando.Parameters.Add(retorno);
            try
            {
                DBCS.Open();

                comando.ExecuteNonQuery();

                int r = Convert.ToInt32(retorno.Value);
                if (r == -1)
                {
                    throw new Exception("ExcepcionEX:Error al eliminar el viaje.FinExcepcionEX");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                DBCS.Close();
            }
        }
예제 #4
0
 public List <Pasaje> ComprarPasaje()
 {
     if (IsValid())
     {
         foreach (var cabina in Cabinas.Where(x => IdsCabinasSeleccionadas.Contains(x.IdCabina)))
         {
             int cod_pasaje = PasajeDAO.ComprarPasaje(
                 cabina.PorcentajeRecargo * Viajes.FirstOrDefault(x => x.IdRutaDeViaje == _RutaDeViajeSeleccionada).CalcularCostoDeRuta(),
                 cabina.IdCabina,
                 MedioDePago.IDMedioDePago,
                 RutaDeViajeSeleccionada.Value,
                 Cliente.DNI
                 );
             Pasaje pasaje = new Pasaje()
             {
                 Cabina     = cabina.MapToDomainObject(),
                 Cliente    = null,
                 Cod_Pasaje = cod_pasaje,
                 Estado     = null,
                 Pago       = null,
                 Precio     = _Monto,
                 Ruta       = null
             };
             this.PasajesComprados.Add(pasaje);
         }
         return(PasajesComprados);
     }
     else
     {
         return(null);
     }
 }
예제 #5
0
        private void Editar()
        {
            Tabla    tabla      = new Tabla();
            Viajes   nuevoViaje = new Viajes();
            DateTime date       = dateTimePicker1.Value;

            nuevoViaje.Fecha      = date;
            nuevoViaje.NroViaje   = int.Parse(tbNumV.Text);
            nuevoViaje.Empresa    = tbEmpr.Text;
            nuevoViaje.Origen     = tbOrig.Text;
            nuevoViaje.Destino    = tbDes.Text;
            nuevoViaje.KM         = float.Parse(tbKM.Text);
            nuevoViaje.Pasajero   = int.Parse(tbPasaj.Text);
            nuevoViaje.MinEsper   = float.Parse(tbMEspe.Text);
            nuevoViaje.PeajeEst   = float.Parse(tbPeaj.Text);
            nuevoViaje.GNC        = float.Parse(tbGNC.Text);
            nuevoViaje.Importe    = float.Parse(tbImporte.Text);
            nuevoViaje.ImporteEsp = float.Parse(tbImpEsp.Text);
            nuevoViaje.Total      = float.Parse(tbTotal.Text);
            nuevoViaje.Nafta      = float.Parse(tbNafta.Text);
            string idvalue = lblidvalue.Text;

            ConecDB  conec    = new ConecDB();
            Consulta consulta = new Consulta();

            conec.AbrirConexion();
            consulta.Editar(nuevoViaje, idvalue);
        }
 private void btnRegistrarViaje_Click(object sender, EventArgs e)
 {
     if (fmVistaServidor.servidorIniciado == true)
     {
         if (!string.IsNullOrEmpty(cmbIDConductor.Text) && !string.IsNullOrEmpty(txtPtoPartida.Text) && !string.IsNullOrEmpty(txtPtoDestino.Text) && !string.IsNullOrEmpty(txtDescCliente.Text) && !string.IsNullOrEmpty(txtTiempoCliente.Text) && !string.IsNullOrEmpty(txtEstado.Text) && !string.IsNullOrEmpty(txtEstado.Text))
         {
             //Parámetros recibidos del cliente para ser introducidos en la base de datos posterior a ser enviados al servidor
             Viajes viaje = new Viajes()
             {
                 Id_Conductor = cmbIDConductor.Text,
                 PuntoPartida = txtPtoPartida.Text,
                 PuntoDestino = txtPtoDestino.Text,
                 Desc_Viaje   = txtDescCliente.Text,
                 Can_Horas    = txtTiempoCliente.Text,
                 Estado       = txtEstado.Text,
             };
             ClienteTCP.CrearViaje(viaje);
             this.Close();
             MessageBox.Show("Viaje registrado con éxito.", "Atención");//Mensaje de éxito
         }
         else
         {
             MessageBox.Show("No puede haber campos vacíos.", "Error");
         }
     }
     else
     {
         MessageBox.Show("No hay conexión al servidor.", "Error");
     }
 }
예제 #7
0
        public void CalcularCostos(PuntoEntrega nuevoPunto, int radio)
        {
            if (Viajes == null)
            {
                throw new ApplicationException("Antes de intercalar hay que cargar los datos con el método Load");
            }

            var cercanos = Viajes.Where(v => v.Detalles.Any(
                                            d => Distancias.Loxodromica(d.ReferenciaGeografica.Latitude,
                                                                        d.ReferenciaGeografica.Longitude,
                                                                        nuevoPunto.ReferenciaGeografica.Latitude,
                                                                        nuevoPunto.ReferenciaGeografica.Longitude) <= radio));

            var result = cercanos.Select(c => CalcularIntercalado(c, nuevoPunto))
                         .OrderBy(i => i.CostoKmExtra);

            var inter = new List <Intercalado>();

            foreach (var intercalado in result)
            {
                var i = CalcularDirections(intercalado, nuevoPunto);
                if (IsInHoras(i))
                {
                    inter.Add(i);
                }
                if (inter.Count > 5)
                {
                    break;
                }
            }
            Intercalados = inter.OrderBy(i => i.CostoKmExtra).ToList();
        }
예제 #8
0
파일: Viaje.cs 프로젝트: gdpepp/GD1C2017
 public Viaje()
 {
     InitializeComponent();
     this.dao      = new DAOViajes();
     this.viaje    = new Viajes();
     this.choferes = new List <ViajeChofer>();
     this.clientes = new List <ViajePersona>();
 }
예제 #9
0
        public ActionResult DeleteConfirmed(int id)
        {
            Viajes viajes = db.Viajes.Find(id);

            db.Viajes.Remove(viajes);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #10
0
    protected void BtnBuscar_Click(object sender, EventArgs e)
    {
        if (TBNumero.Text != "")
        {
            try
            {
                LblError.Text = "";

                int _Codigo = Convert.ToInt32(TBNumero.Text);

                ILogicaViajes FViaje = FabricaLogica.getLogicaViaje();

                Viajes unNac = FViaje.Buscar_Viaje(_Codigo);

                if (unNac == null)
                {
                    ActivoFormularioAlta();
                }

                else if (unNac is Internacionales)
                {
                    LblError.ForeColor = System.Drawing.Color.Red;
                    LblError.Text      = "El número de viaje ingresado corresponde a un viaje internacional";
                }

                else
                {
                    Session["Encontrado"] = true;

                    Session["Nacional"] = (Nacionales)unNac;

                    DDLCompania.Text                = unNac.Compania.Nombre;
                    DDLTerminal.Text                = unNac.Terminal.Codigo;
                    CalFechaPartida.SelectedDate    = unNac.Fecha_partida.Date;
                    CalFechaArribo.VisibleDate      = unNac.Fecha_partida.Date;
                    TBFechaPartida.Text             = unNac.Fecha_partida.Date.ToShortDateString();
                    CalFechaArribo.SelectedDate     = unNac.Fecha_arribo.Date;
                    CalFechaPartida.VisibleDate     = unNac.Fecha_arribo.Date;
                    TBFechaArribo.Text              = unNac.Fecha_arribo.Date.ToShortDateString();
                    DDLHoraPartida.SelectedIndex    = unNac.Fecha_partida.Hour;
                    DDLMinutosPartida.SelectedIndex = unNac.Fecha_partida.Minute;
                    DDLHoraArribo.SelectedIndex     = unNac.Fecha_arribo.Hour;
                    DDLMinutosArribo.SelectedIndex  = unNac.Fecha_arribo.Minute;
                    TBCantAsientos.Text             = Convert.ToString(unNac.Asientos);
                    TBParadas.Text = Convert.ToString(((Nacionales)unNac).Paradas);

                    ActivoFormularioModificacion();
                }
            }

            catch (Exception ex)
            {
                LblError.ForeColor = System.Drawing.Color.Red;
                LblError.Text      = ex.Message;
            }
        }
    }
예제 #11
0
        // GET: Viajes/Create
        public ActionResult Create()
        {
            ViewBag.IdUsuarioViaja = new SelectList(db.Users, "Id", "Nombres");
            ViewBag.IdPaisDestino  = new SelectList(db.Paises, "IdPais", "Pais");
            ViewBag.IdPaisOrigen   = new SelectList(db.Paises, "IdPais", "Pais");
            Viajes viaje = new Viajes();

            return(View(viaje));
        }
        public void verifyTravelExisted(Viajes viaje)
        {
            String    date = DateUtils.stringFromDate(viaje.Inicio);
            DataTable dt   = db.select_query("select Id from FSOCIETY.Viaje where IdCliente = " + viaje.Cliente.getId() + " and FechaHoraInicio <= CONVERT(datetime,'" + date + "',120) and FechaHoraFin >= CONVERT(datetime,'" + date + "',120)");

            if (dt.Rows.Count > 0)
            {
                throw new Exception("Viaje duplicado");
            }
        }
예제 #13
0
 public ActionResult Edit([Bind(Include = "ID,Nombre,Direccion,Detalle")] Viajes viajes)
 {
     if (ModelState.IsValid)
     {
         db.Entry(viajes).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(viajes));
 }
예제 #14
0
    private void CompletoInfoTerminal(Viajes _viaje)
    {
        TBCodigoTer.Text = _viaje.Terminal.Codigo;
        TBCiudadTer.Text = _viaje.Terminal.Ciudad;
        TBPaisTer.Text   = _viaje.Terminal.Pais;

        LBFacilidadesTer.DataSource    = _viaje.Terminal.ListaFacilidades;
        LBFacilidadesTer.DataTextField = "Facilidad";
        LBFacilidadesTer.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            try
            {
                Viajes v = (Viajes)Session["viajeElegido"];

                lblNumero.Text       = v.numero.ToString();
                lblPartida.Text      = v.partida.ToString();
                lblArribo.Text       = v.arribo.ToString();
                lblCantAsientos.Text = v.cantAsientos.ToString();
                lblEmpleado.Text     = v.e.nombreCompleto;

                if (v is Internacionales)
                {
                    Internacionales i = (Internacionales)v;
                    lblDocumentacion.Text = i.documentacion;
                    if (i.servAbordo == true)
                    {
                        lblServAbordo.Text = "Si";
                    }
                    else
                    {
                        lblServAbordo.Text = "No";
                    }
                    lblParadas.Text = "Valór no admitido.";
                }
                else
                {
                    Nacionales n = (Nacionales)v;
                    lblParadas.Text       = n.paradas.ToString();
                    lblServAbordo.Text    = "Valór no admitido.";
                    lblDocumentacion.Text = "Valór no admitido.";
                }

                lblNombre.Text    = v.c.nombre;
                lblDireccion.Text = v.c.direccion;
                lblTelefono.Text  = v.c.telefono.ToString();

                lblCodigo.Text = v.t.codigo;
                lblCiudad.Text = v.t.ciudad;
                lblPais.Text   = v.t.pais;

                GDVFacilidades.DataSource = v.t.facilidades;
                GDVFacilidades.ShowHeader = false;
                GDVFacilidades.DataBind();
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message;
            }
        }
    }
예제 #16
0
        public ActionResult Create([Bind(Include = "ID,Nombre,Direccion,Detalle")] Viajes viajes)
        {
            if (ModelState.IsValid)
            {
                db.Viajes.Add(viajes);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(viajes));
        }
예제 #17
0
        public ActionResult DeleteConfirmed(int id)
        {
            Viajes viajes = db.Viajes.Find(id);

            viajes.Eliminado       = true;
            viajes.UsuarioMod      = GetUserId(User);
            viajes.FechaMod        = DateTime.Now;
            db.Entry(viajes).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #18
0
    private void CompletoInfoTerminal(Viajes _viaje)
    {
        TBCodigoTer.Text = _viaje.Terminal.Codigo;
        TBCiudadTer.Text = _viaje.Terminal.Ciudad;
        TBPaisTer.Text   = _viaje.Terminal.Pais;


        LBFacilidadesTer.DataSource = _viaje.Terminal.ListaFacilidades;
        //No hay que evaluar la columna ya que ya viene como listado
        //LBFacilidadesTer.DataTextField = "Facilidad";
        LBFacilidadesTer.DataBind();
    }
    public void Modificar_Viaje(Viajes unViaje)
    {
        try
        {
            FabricaLogica.getLogicaViaje().Modificar_Viaje(unViaje);
        }

        catch (Exception ex)
        {
            this.GenerarSoapException(ex);
        }
    }
        public void insertTravel(Viajes viaje)
        {
            Dictionary <String, Object> dic = new Dictionary <string, object>();

            dic.Add("@idchofer", viaje.Chofer.getId());
            dic.Add("@idcliente", viaje.Cliente.getId());
            dic.Add("@CantKm", viaje.KM);
            dic.Add("@inicio", DateUtils.stringFromDate(viaje.Inicio));
            dic.Add("@fin", DateUtils.stringFromDate(viaje.Fin));

            db.executeQueryWithParameters("insert into FSOCIETY.Viaje(IdChofer,IdCliente,CantKm,FechaHoraInicio,FechaHoraFin) values(@idchofer,@idcliente,@cantkm,CONVERT(datetime,@inicio,120),CONVERT(datetime,@fin,120))", dic);
        }
예제 #21
0
    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            Viajes v = FabricaLogica.GetLogicaViajes().BuscarViaje(Convert.ToInt32(txtBusqueda.Text));
            txtBusqueda.Enabled = false;
            txtEmpleado.Enabled = false;
            Panel2.Enabled      = true;
            lblError.Text       = "";
            if (v is Nacionales)
            {
                Nacionales n = (Nacionales)v;
                Panel2.Visible           = true;
                Session["ViajeNacional"] = n;
                FechaYHora3.Fecha        = n.partida;
                FechaYHora4.Fecha        = n.arribo;

                txtAsiento.Text  = n.cantAsientos.ToString();
                txtParadas.Text  = n.paradas.ToString();
                txtEmpleado.Text = n.e.ci.ToString();
                txtDestino.Text  = n.t.codigo.ToString();
                txtCompania.Text = n.c.nombre;

                BtnEliminar.Enabled  = true;
                btnAgregar.Enabled   = false;
                btnModificar.Enabled = true;
            }
            else if (v is Internacionales)
            {
                txtBusqueda.Enabled = true;
                Panel2.Enabled      = false;
                throw new Exception("El numero ingresado corresponde a un viaje Internacional.");
            }
            else
            {
                Empleado E = (Empleado)Session["Empleado"];
                txtEmpleado.Text     = E.ci.ToString();
                txtAsiento.Text      = "";
                txtParadas.Text      = "";
                txtDestino.Text      = "";
                txtCompania.Text     = "";
                btnModificar.Enabled = false;
                btnAgregar.Enabled   = true;
            }
        }
        catch (Exception ex)
        {
            lblError.Text = ex.Message;
        }
    }
    protected void BtnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            Viajes v = FabricaLogica.GetLogicaViajes().BuscarViaje(Convert.ToInt32(txtBusqueda.Text));
            Panel2.Enabled      = true;
            txtBusqueda.Enabled = false;
            txtEmpleado.Enabled = false;
            lblError.Text       = "";
            if (v is Internacionales)
            {
                Internacionales I = (Internacionales)v;

                Session["ViajeInternacional"] = I;
                FechaYHora1.Fecha             = I.partida;
                FechaYHora2.Fecha             = I.arribo;
                BtnEliminar.Enabled           = true;
                btnAgregar.Enabled            = false;
                btnModificar.Enabled          = true;

                txtAsiento.Text          = I.cantAsientos.ToString();
                txtDocumentacion.Text    = I.documentacion;
                txtEmpleado.Text         = I.e.ci.ToString();
                txtDestino.Text          = I.t.codigo.ToString();
                txtCompania.Text         = I.c.nombre;
                rblSAbordo.SelectedValue = I.servAbordo.ToString();
            }
            else if (v is Nacionales)
            {
                throw new Exception("El numero ingresado corresponde a un viaje Nacional.");
            }
            else
            {
                Empleado E = (Empleado)Session["Empleado"];
                txtEmpleado.Text         = E.ci.ToString();
                txtAsiento.Text          = "";
                txtDestino.Text          = "";
                txtCompania.Text         = "";
                BtnEliminar.Enabled      = false;
                btnModificar.Enabled     = false;
                btnAgregar.Enabled       = true;
                txtDocumentacion.Text    = "";
                rblSAbordo.SelectedIndex = 1;
            }
        }
        catch (Exception ex)
        {
            lblError.Text = ex.Message;
        }
    }
예제 #23
0
        // GET: Viajes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Viajes viajes = db.Viajes.Find(id);

            if (viajes == null)
            {
                return(HttpNotFound());
            }
            return(View(viajes));
        }
예제 #24
0
        void startPicker()
        {
            Viajes aux      = new Viajes();
            int    cantidad = RestService.CountTravels();

            if (cantidad != 0)
            {
                for (int i = 0; i < cantidad; i++)
                {
                    aux = RestService.getTravelAt(i);
                    pickerRecorridos.Items.Add("" + aux.id);
                }
            }
        }
예제 #25
0
 public ActionResult Edit(Viajes viajes)
 {
     if (ModelState.IsValid)
     {
         viajes.UsuarioMod      = GetUserId(User);
         viajes.FechaMod        = DateTime.Now;
         db.Entry(viajes).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdUsuarioViaja = new SelectList(db.Users, "Id", "Nombres", viajes.IdUsuarioViaja);
     ViewBag.IdPaisDestino  = new SelectList(db.Paises, "IdPais", "Pais", viajes.IdPaisDestino);
     ViewBag.IdPaisOrigen   = new SelectList(db.Paises, "IdPais", "Pais", viajes.IdPaisOrigen);
     return(View(viajes));
 }
예제 #26
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Viajes vselec = (Viajes)Session["ViajeSeleccionado"];
            CompletoInfoViaje(vselec);
            CompletoInfoCompania(vselec);
            CompletoInfoTerminal(vselec);
        }

        catch (Exception ex)
        {
            LblError.ForeColor = System.Drawing.Color.Red;
            LblError.Text      = ex.Message;
        }
    }
예제 #27
0
 public ActionResult Create(Viajes viajes)
 {
     if (ModelState.IsValid)
     {
         viajes.UsuarioCrea    = GetUserId(User);
         viajes.IdUsuarioViaja = viajes.UsuarioCrea;
         viajes.FechaCrea      = DateTime.Now;
         db.Viajes.Add(viajes);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdPaisDestino  = new SelectList(db.Paises, "IdPais", "Pais", viajes.IdPaisDestino);
     ViewBag.IdPaisOrigen   = new SelectList(db.Paises, "IdPais", "Pais", viajes.IdPaisOrigen);
     ViewBag.IdUsuarioViaja = new SelectList(db.Users, "Id", "Nombres", viajes.IdUsuarioViaja);
     return(View(viajes));
 }
    public Viajes Buscar_Viaje(int pCodigo)
    {
        Viajes _unViaje = null;

        try
        {
            _unViaje = FabricaLogica.getLogicaViaje().Buscar_Viaje(pCodigo);
        }

        catch (Exception ex)
        {
            this.GenerarSoapException(ex);
        }

        return(_unViaje);
    }
        public void Eliminar_Viaje(Viajes unViaje)
        {
            if (unViaje is Internacionales)
            {
                IPersistenciaInternacionales FInternacional = FabricaPersistencia.getPersistenciaInternacionales();

                FInternacional.Eliminar_Internacional((Internacionales)unViaje);
            }

            else
            {
                IPersistenciaNacionales FNacional = FabricaPersistencia.getPersistenciaNacionales();

                FNacional.Eliminar_Nacional((Nacionales)unViaje);
            }
        }
        //Operaciones
        public Viajes Buscar_Viaje(int pCodViaje)
        {
            Viajes unViaje = null;

            IPersistenciaNacionales FNacionales = FabricaPersistencia.getPersistenciaNacionales();

            unViaje = FNacionales.Buscar_Viaje(pCodViaje);

            if (unViaje == null)
            {
                IPersistenciaInternacionales FInternacionales = FabricaPersistencia.getPersistenciaInternacionales();
                unViaje = FInternacionales.Buscar_Viaje(pCodViaje);
            }

            return(unViaje);
        }