예제 #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
 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);
     }
 }
예제 #3
0
        private void ActualizarMontoCalculado()
        {
            decimal montoTotal = 0;
            decimal costoRuta  = 0;

            if (RutaDeViajeSeleccionada.HasValue && Viajes.Count > 0)
            {
                costoRuta = Viajes.FirstOrDefault(x => x.IdRutaDeViaje == _RutaDeViajeSeleccionada).CalcularCostoDeRuta();
            }
            if (IdsCabinasSeleccionadas != null && IdsCabinasSeleccionadas.Count > 0)
            {
                foreach (var cabina in Cabinas.Where(x => IdsCabinasSeleccionadas.Contains(x.IdCabina)))
                {
                    montoTotal += cabina.PorcentajeRecargo * costoRuta;
                }
            }
            Monto = montoTotal;
        }
예제 #4
0
 public override void MapFromDomainObject(Crucero c)
 {
     this.IdCrucero     = c.Cod_Crucero;
     this.IdFabricante  = (c.Fabricante != null) ? c.Fabricante.Cod_Fabricante : 0;
     this.Fabricante    = (c.Fabricante != null) ? c.Fabricante.Detalle : "";
     this.IdModelo      = (c.Modelo_Crucero != null) ? c.Modelo_Crucero.Cod_Modelo : 0;
     this.Modelo        = (c.Modelo_Crucero != null) ? c.Modelo_Crucero.Detalle : "";
     this.Activo        = c.Activo;
     this.Identificador = c.Identificador;
     this.Cabinas       = new BindingList <CabinaViewModel>();
     if (c.Cabinas != null)
     {
         foreach (var cab in c.Cabinas)
         {
             CabinaViewModel cv = new CabinaViewModel();
             cv.MapFromDomainObject(cab);
             Cabinas.Add(cv);
         }
     }
 }
예제 #5
0
        /// <summary>
        /// Busca los viajes segun la fecha de partida, puerto de salida y de llegada,
        /// y rellena la lista Viajes asociada al listado de viajes.
        /// </summary>
        public void BuscarViajes()
        {
            try
            {
                Viajes.Clear();
                Cabinas.Clear();

                List <RutaDeViajeViewModel> viajes =
                    (new RutaDeViajeDAO()).GetByFiltersPasaje(FechaPartida, IdPuertoSalida, IdPuertoLlegada)
                    .Select(x => new RutaDeViajeViewModel(x)).ToList();

                foreach (var v in viajes)
                {
                    Viajes.Add(v);
                }
            }
            catch (Exception)
            {
                //ToDo Revisar manejo de errores
            }
        }
예제 #6
0
        private void BuscarCabinas()
        {
            try
            {
                Cabinas.Clear();

                if (_RutaDeViajeSeleccionada.HasValue)
                {
                    List <CabinaViewModel> cabinas =
                        CabinaDAO.GetByRutaDeViaje(_RutaDeViajeSeleccionada.Value)
                        .Select(x => new CabinaViewModel(x)).ToList();

                    foreach (var c in cabinas)
                    {
                        Cabinas.Add(c);
                    }
                }
            }
            catch (Exception)
            {
                //ToDo Revisar manejo de errores
            }
        }