public static PlanoEntity ObtenerPrecioAsiento(short CodiOrigen, short CodiDestino, string Hora, string Fecha, short CodiServicio, byte CodiEmpresa, string Nivel)
        {
            var entidad = new PlanoEntity();

            using (IDatabase db = DatabaseHelper.GetDatabase())
            {
                db.ProcedureName = "scwsp_ObtenerPrecioAsiento";
                db.AddParameter("@Codi_Origen", DbType.Int16, ParameterDirection.Input, CodiOrigen);
                db.AddParameter("@Codi_Destino", DbType.Int16, ParameterDirection.Input, CodiDestino);
                db.AddParameter("@Hora", DbType.String, ParameterDirection.Input, Hora);
                db.AddParameter("@Fecha", DbType.String, ParameterDirection.Input, Fecha);
                db.AddParameter("@Codi_Servicio", DbType.String, ParameterDirection.Input, CodiServicio);
                db.AddParameter("@Codi_Empresa", DbType.String, ParameterDirection.Input, CodiEmpresa);
                db.AddParameter("@Nivel", DbType.String, ParameterDirection.Input, Nivel);
                using (IDataReader drlector = db.GetDataReader())
                {
                    while (drlector.Read())
                    {
                        entidad.PrecioNormal = Reader.GetDecimalValue(drlector, "Precio_Nor");
                        entidad.PrecioMinimo = Reader.GetDecimalValue(drlector, "Precio_Min");
                        entidad.PrecioMaximo = Reader.GetDecimalValue(drlector, "Precio_Max");
                        break;
                    }
                }
            }

            return(entidad);
        }
Beispiel #2
0
        private List <PlanoEntity> CastEntityPlanos(List <tbPlano> planos)
        {
            List <PlanoEntity> lst = new List <PlanoEntity>();

            foreach (var item in planos)
            {
                PlanoEntity plano = new PlanoEntity();

                plano.dataExpira          = item.dataExpira;
                plano.DataUltimaAlteracao = item.DataUltimaAlteracao;
                plano.id   = item.id;
                plano.Nome = item.Nome;
                plano.responsavelUltimaAlteracao = item.responsavelUltimaAlteracao;
                plano.Valor = item.Valor;

                lst.Add(plano);
            }

            return(lst);
        }
Beispiel #3
0
        public static void MatchPlano(PlanoEntity entidad, PlanoEntity item, PlanoRequest request)
        {
            entidad.NumeAsiento     = item.NumeAsiento;
            entidad.Nacionalidad    = item.Nacionalidad;
            entidad.PrecioVenta     = item.PrecioVenta;
            entidad.RecogeEn        = item.RecogeEn;
            entidad.FlagVenta       = item.FlagVenta;
            entidad.Sigla           = item.Sigla;
            entidad.Boleto          = item.Boleto;
            entidad.TipoBoleto      = item.TipoBoleto;
            entidad.CodiOrigen      = item.CodiOrigen;
            entidad.OrdenOrigen     = item.OrdenOrigen;
            entidad.CodiDestino     = item.CodiDestino;
            entidad.NomOrigen       = item.NomOrigen;
            entidad.NomDestino      = item.NomDestino;
            entidad.CodiPuntoVenta  = item.CodiPuntoVenta;
            entidad.NomPuntoVenta   = item.NomPuntoVenta;
            entidad.CodiUsuario     = item.CodiUsuario;
            entidad.NomUsuario      = item.NomUsuario;
            entidad.RucContacto     = item.RucContacto;
            entidad.NumeSolicitud   = item.NumeSolicitud;
            entidad.HoraVenta       = item.HoraVenta;
            entidad.EmbarqueCod     = item.EmbarqueCod;
            entidad.EmbarqueDir     = item.EmbarqueDir;
            entidad.EmbarqueHora    = item.EmbarqueHora;
            entidad.ImpManifiesto   = item.ImpManifiesto;
            entidad.CodiSucursal    = item.CodiSucursal;
            entidad.TipoDocumento   = item.TipoDocumento;
            entidad.NumeroDocumento = item.NumeroDocumento;
            entidad.Nombres         = item.SplitNombres[0];
            entidad.ApellidoPaterno = item.SplitNombres[1];
            entidad.ApellidoMaterno = item.SplitNombres[2];
            entidad.Sexo            = item.Sexo;
            entidad.TipoPago        = item.TipoPago;
            entidad.Edad            = item.Edad;
            entidad.Telefono        = item.Telefono;
            entidad.ValeRemoto      = item.ValeRemoto;
            entidad.CodiEsca        = item.CodiEsca;
            entidad.CodiEmpresa     = item.CodiEmpresa;

            // Busca 'Pasajero'
            if (!string.IsNullOrEmpty(entidad.TipoDocumento) && !string.IsNullOrEmpty(entidad.NumeroDocumento))
            {
                var buscaPasajero = ClientePasajeRepository.BuscaPasajero(VentaLogic.TipoDocumentoHomologado(entidad.TipoDocumento).ToString(), entidad.NumeroDocumento);
                entidad.FechaNacimiento = buscaPasajero.FechaNacimiento;
                entidad.Especial        = buscaPasajero.Especial;

                entidad.Correo = buscaPasajero.Correo;

                if (entidad.Edad == 0 && string.IsNullOrEmpty(entidad.Telefono))
                {
                    entidad.Edad     = buscaPasajero.Edad;     // La tabla 'Tb_Boleto_Ruta' no contiene 'Edad'
                    entidad.Telefono = buscaPasajero.Telefono; // La tabla 'Tb_Boleto_Ruta' no contiene 'Telefono'
                }
            }

            switch (entidad.FlagVenta)
            {
            case "X":     // Asiento bloqueado
            case "AB":    // Asiento bloqueado por módulo
                entidad.IdVenta    = string.Empty;
                entidad.Color      = string.Empty;
                entidad.FechaVenta = string.Empty;
                entidad.FechaViaje = string.Empty;
                break;

            default:
            {
                entidad.IdVenta    = item.IdVenta;
                entidad.Color      = item.Color;
                entidad.FechaVenta = item.FechaVenta;
                entidad.FechaViaje = item.FechaViaje;

                switch (entidad.FlagVenta)
                {
                case "VI":             // Venta intermedia
                    entidad.FechaVenta = "07/07/1777";
                    entidad.FechaViaje = string.Empty;
                    break;

                case "7":             // Pase de cortesía
                    entidad.Sigla = "PS";
                    entidad.Color = ColorVentaPaseCortesia;
                    break;

                case "1":             // Crédito
                    entidad.Sigla = "VC";
                    break;

                case "R":             // Reserva
                    entidad.Color = ColorVentaReserva;
                    break;
                }
                ;
            };
                break;
            }

            // Busca 'Empresa'
            if (!string.IsNullOrEmpty(entidad.RucContacto))
            {
                var buscarEmpresa = ClientePasajeRepository.BuscarEmpresa(entidad.RucContacto);
                entidad.RazonSocial = buscarEmpresa.RazonSocial;
                entidad.Direccion   = buscarEmpresa.Direccion;
            }
            else
            {
                entidad.RazonSocial = string.Empty;
                entidad.Direccion   = string.Empty;
            }

            // Busca 'Acompaniante'
            if (!string.IsNullOrEmpty(entidad.IdVenta))
            {
                entidad.ObjAcompaniante = PlanoRepository.BuscaAcompaniante(entidad.IdVenta);
            }

            // Consulta 'Reintegro'
            if (!string.IsNullOrEmpty(entidad.CodiEsca))
            {
                var consultaVentaReintegro = VentaRepository.ConsultaVentaReintegro(entidad.CodiEsca.Substring(1, 3), entidad.CodiEsca.Substring(5), entidad.CodiEmpresa.ToString(), entidad.CodiEsca.Substring(0, 1));
                entidad.ClavUsuarioReintegro = consultaVentaReintegro.CodiUsuario;
                entidad.SucVentaReintegro    = consultaVentaReintegro.SucVenta;
                entidad.PrecVentaReintegro   = consultaVentaReintegro.PrecioVenta;
                entidad.Nombres         = consultaVentaReintegro.SplitNombre[0];
                entidad.ApellidoPaterno = consultaVentaReintegro.SplitNombre[1];
                entidad.ApellidoMaterno = consultaVentaReintegro.SplitNombre[2];
                entidad.TipoDocumento   = consultaVentaReintegro.TipoDocumento;
                entidad.NumeroDocumento = consultaVentaReintegro.Dni;
                entidad.Edad            = consultaVentaReintegro.Edad;
                entidad.RucContacto     = consultaVentaReintegro.RucCliente;
                entidad.Telefono        = consultaVentaReintegro.Telefono;

                // Busca 'Pasajero'
                if (!string.IsNullOrEmpty(entidad.TipoDocumento) && !string.IsNullOrEmpty(entidad.NumeroDocumento))
                {
                    var buscaPasajero = ClientePasajeRepository.BuscaPasajero(VentaLogic.TipoDocumentoHomologado(entidad.TipoDocumento).ToString(), entidad.NumeroDocumento);
                    entidad.FechaNacimiento = buscaPasajero.FechaNacimiento;
                }

                // Busca 'Empresa'
                if (!string.IsNullOrEmpty(entidad.RucContacto))
                {
                    var buscarEmpresa = ClientePasajeRepository.BuscarEmpresa(entidad.RucContacto);
                    entidad.RazonSocial = buscarEmpresa.RazonSocial;
                    entidad.Direccion   = buscarEmpresa.Direccion;
                }
                else
                {
                    entidad.RazonSocial = string.Empty;
                    entidad.Direccion   = string.Empty;
                }
            }

            // Consulta 'FechaHoraReservacion'
            if (entidad.FlagVenta == "R")
            {
                var consultarFechaHoraReservacion = VentaRepository.ConsultarFechaHoraReservacion(int.Parse(entidad.IdVenta));
                entidad.FechaReservacion = consultarFechaHoraReservacion.FechaReservacion;
                entidad.HoraReservacion  = consultarFechaHoraReservacion.HoraReservacion;
            }

            // Seteo 'Info'
            entidad.Info = entidad.CodiUsuario + " " + entidad.NomUsuario + " - " + entidad.NomPuntoVenta + " - ";
            switch (entidad.FlagVenta)
            {
            case "7":
                entidad.Info += "(PS)" + " - ";
                break;

            case "1":
                entidad.Info += "(VC)" + " - ";
                break;
            }
            entidad.Info += entidad.NomOrigen + " - " + entidad.NomDestino;

            // Seteo 'Observacion'
            if (entidad.FlagVenta == "I")
            {
                var consultaUsrValeR = VentaRepository.ConsultaUsrValeR(int.Parse(entidad.IdVenta));

                entidad.Observacion = "USR VALE: " + consultaUsrValeR;
            }
            entidad.Observacion += entidad.CodiEsca;
        }
        public static List <PlanoEntity> ListarAsientosBloqueados(int NroViaje, int CodiProgramacion, string FechaProgramacion)
        {
            var Lista = new List <PlanoEntity>();

            using (IDatabase db = DatabaseHelper.GetDatabase())
            {
                db.ProcedureName = "scwsp_ListarAsientosBloqueados";
                db.AddParameter("@Nro_Viaje", DbType.Int32, ParameterDirection.Input, NroViaje);
                db.AddParameter("@Codi_Programacion", DbType.Int32, ParameterDirection.Input, CodiProgramacion);
                db.AddParameter("@Fecha_Programacion", DbType.String, ParameterDirection.Input, FechaProgramacion);
                using (IDataReader drlector = db.GetDataReader())
                {
                    while (drlector.Read())
                    {
                        var entidad = new PlanoEntity
                        {
                            NumeAsiento = Reader.GetByteValue(drlector, "Nume_Asiento"),
                            CodiOrigen  = Reader.GetSmallIntValue(drlector, "Codi_Origen"),
                            CodiDestino = Reader.GetSmallIntValue(drlector, "Codi_Destino"),
                            // Para evitar Null's
                            TipoDocumento    = string.Empty,
                            NumeroDocumento  = string.Empty,
                            RucContacto      = string.Empty,
                            FechaViaje       = string.Empty,
                            FechaVenta       = string.Empty,
                            Nacionalidad     = string.Empty,
                            RecogeEn         = string.Empty,
                            Color            = string.Empty,
                            FlagVenta        = string.Empty,
                            Sigla            = string.Empty,
                            Boleto           = string.Empty,
                            TipoBoleto       = string.Empty,
                            IdVenta          = string.Empty,
                            Nombres          = string.Empty,
                            ApellidoPaterno  = string.Empty,
                            ApellidoMaterno  = string.Empty,
                            FechaNacimiento  = string.Empty,
                            Telefono         = string.Empty,
                            Sexo             = string.Empty,
                            RazonSocial      = string.Empty,
                            Direccion        = string.Empty,
                            Codigo           = string.Empty,
                            OrdenOrigen      = string.Empty,
                            Tipo             = string.Empty,
                            NomOrigen        = string.Empty,
                            NomDestino       = string.Empty,
                            NomPuntoVenta    = string.Empty,
                            NomUsuario       = string.Empty,
                            NumeSolicitud    = string.Empty,
                            HoraVenta        = string.Empty,
                            EmbarqueDir      = string.Empty,
                            EmbarqueHora     = string.Empty,
                            ImpManifiesto    = string.Empty,
                            TipoPago         = string.Empty,
                            ValeRemoto       = string.Empty,
                            CodiEsca         = string.Empty,
                            FechaReservacion = string.Empty,
                            HoraReservacion  = string.Empty,
                            Info             = string.Empty,
                            Observacion      = string.Empty,
                            Correo           = string.Empty,
                            Especial         = string.Empty
                        };
                        Lista.Add(entidad);
                    }
                }
            }

            return(Lista);
        }
        public static List <PlanoEntity> ListarAsientosVendidos(int NroViaje, int CodiProgramacion, string FechaProgramacion)
        {
            var Lista = new List <PlanoEntity>();

            using (IDatabase db = DatabaseHelper.GetDatabase())
            {
                db.ProcedureName = "scwsp_ListarAsientosVendidos";
                db.AddParameter("@Nro_Viaje", DbType.Int32, ParameterDirection.Input, NroViaje);
                db.AddParameter("@Codi_Programacion", DbType.Int32, ParameterDirection.Input, CodiProgramacion);
                db.AddParameter("@Fecha_Programacion", DbType.String, ParameterDirection.Input, FechaProgramacion);
                using (IDataReader drlector = db.GetDataReader())
                {
                    while (drlector.Read())
                    {
                        var entidad = new PlanoEntity
                        {
                            NumeAsiento     = Reader.GetByteValue(drlector, "NUME_ASIENTO"),
                            TipoDocumento   = Reader.GetStringValue(drlector, "Tipo_Documento"),
                            NumeroDocumento = Reader.GetStringValue(drlector, "Numero_Documento"),
                            RucContacto     = Reader.GetStringValue(drlector, "Ruc_Contacto"),
                            FechaViaje      = Reader.GetDateStringValue(drlector, "Fecha_Viaje"),
                            FechaVenta      = Reader.GetDateStringValue(drlector, "Fecha_Venta"),
                            Nacionalidad    = Reader.GetStringValue(drlector, "Nacionalidad"),
                            PrecioVenta     = Reader.GetDecimalValue(drlector, "Precio_Venta"),
                            RecogeEn        = Reader.GetStringValue(drlector, "Recoge_En"),
                            Color           = DataUtility.ObtenerColorHexadecimal(Reader.GetStringValue(drlector, "Color")),
                            FlagVenta       = Reader.GetStringValue(drlector, "FLAG_VENTA"),
                            Sigla           = Reader.GetStringValue(drlector, "Sigla"),
                            CodiOrigen      = Reader.GetSmallIntValue(drlector, "Codi_Origen"),
                            CodiDestino     = Reader.GetSmallIntValue(drlector, "Codi_Destino"),
                            Boleto          = Reader.GetStringValue(drlector, "Boleto"),
                            TipoBoleto      = Reader.GetStringValue(drlector, "tipo"),
                            IdVenta         = Reader.GetStringValue(drlector, "id_venta"),
                            NomOrigen       = Reader.GetStringValue(drlector, "Nom_Origen"),
                            NomDestino      = Reader.GetStringValue(drlector, "Nom_Destino"),
                            CodiPuntoVenta  = Reader.GetSmallIntValue(drlector, "Codi_Punto_Venta"),
                            NomPuntoVenta   = Reader.GetStringValue(drlector, "Nom_Punto_Venta"),
                            CodiUsuario     = Reader.GetSmallIntValue(drlector, "Codi_Usuario"),
                            NomUsuario      = Reader.GetStringValue(drlector, "Nom_Usuario"),
                            NumeSolicitud   = Reader.GetStringValue(drlector, "nume_solicitud"),
                            HoraVenta       = Reader.GetStringValue(drlector, "HORA_VENTA"),
                            EmbarqueCod     = Reader.GetSmallIntValue(drlector, "EmbarqueCod"),
                            EmbarqueDir     = Reader.GetStringValue(drlector, "EmbarqueDir"),
                            EmbarqueHora    = Reader.GetStringValue(drlector, "EmbarqueHora"),
                            ImpManifiesto   = Reader.GetStringValue(drlector, "imp_manifiesto"),
                            CodiSucursal    = Reader.GetSmallIntValue(drlector, "CODI_SUCURSAL"),
                            Nombres         = Reader.GetStringValue(drlector, "NombreCompleto"),
                            Edad            = Reader.GetByteValue(drlector, "EDAD"),
                            Telefono        = Reader.GetStringValue(drlector, "TELEFONO"),
                            Sexo            = Reader.GetStringValue(drlector, "SEXO"),
                            TipoPago        = Reader.GetStringValue(drlector, "tipo_pago"),
                            ValeRemoto      = Reader.GetStringValue(drlector, "vale_remoto"),
                            CodiEsca        = Reader.GetStringValue(drlector, "CODI_ESCA"),
                            CodiEmpresa     = Reader.GetByteValue(drlector, "CODI_EMPRESA"),
                            // Para evitar Null's
                            ApellidoPaterno  = string.Empty,
                            ApellidoMaterno  = string.Empty,
                            FechaNacimiento  = string.Empty,
                            RazonSocial      = string.Empty,
                            Direccion        = string.Empty,
                            Codigo           = string.Empty,
                            OrdenOrigen      = string.Empty,
                            Tipo             = string.Empty,
                            FechaReservacion = string.Empty,
                            HoraReservacion  = string.Empty,
                            Info             = string.Empty,
                            Observacion      = string.Empty,
                            Correo           = string.Empty,
                            Especial         = string.Empty
                        };
                        Lista.Add(entidad);
                    }
                }
            }

            return(Lista);
        }
        public static List <PlanoEntity> BuscarPlanoBus(string CodiPlano, string CodiBus)
        {
            var Lista = new List <PlanoEntity>();

            using (IDatabase db = DatabaseHelper.GetDatabase())
            {
                db.ProcedureName = "scwsp_BuscarPlanoBus";
                db.AddParameter("@Codi_Plano", DbType.String, ParameterDirection.Input, CodiPlano);
                db.AddParameter("@Codi_Bus", DbType.String, ParameterDirection.Input, CodiBus);
                using (IDataReader drlector = db.GetDataReader())
                {
                    while (drlector.Read())
                    {
                        var entidad = new PlanoEntity
                        {
                            Codigo = Reader.GetStringValue(drlector, "Codigo"),
                            Tipo   = Reader.GetStringValue(drlector, "Tipo"),
                            Indice = Reader.GetIntValue(drlector, "Indice"),
                            Nivel  = Reader.GetIntValue(drlector, "Nivel"),
                            // Para evitar Null's
                            ApellidoMaterno  = string.Empty,
                            ApellidoPaterno  = string.Empty,
                            Boleto           = string.Empty,
                            Color            = string.Empty,
                            Direccion        = string.Empty,
                            FechaNacimiento  = string.Empty,
                            FechaVenta       = string.Empty,
                            FechaViaje       = string.Empty,
                            FlagVenta        = string.Empty,
                            IdVenta          = string.Empty,
                            Nacionalidad     = string.Empty,
                            Nombres          = string.Empty,
                            NumeroDocumento  = string.Empty,
                            RazonSocial      = string.Empty,
                            RecogeEn         = string.Empty,
                            RucContacto      = string.Empty,
                            Sexo             = string.Empty,
                            Sigla            = string.Empty,
                            Telefono         = string.Empty,
                            TipoBoleto       = string.Empty,
                            TipoDocumento    = string.Empty,
                            OrdenOrigen      = string.Empty,
                            NomOrigen        = string.Empty,
                            NomDestino       = string.Empty,
                            NomPuntoVenta    = string.Empty,
                            NomUsuario       = string.Empty,
                            NumeSolicitud    = string.Empty,
                            HoraVenta        = string.Empty,
                            EmbarqueDir      = string.Empty,
                            EmbarqueHora     = string.Empty,
                            ImpManifiesto    = string.Empty,
                            TipoPago         = string.Empty,
                            ValeRemoto       = string.Empty,
                            CodiEsca         = string.Empty,
                            FechaReservacion = string.Empty,
                            HoraReservacion  = string.Empty,
                            Info             = string.Empty,
                            Observacion      = string.Empty,
                            Correo           = string.Empty,
                            Especial         = string.Empty
                        };
                        Lista.Add(entidad);
                    }
                }
            }

            return(Lista);
        }