public static Response <RucEntity> BuscaEmpresa(string RucContacto) { try { var buscaEmpresa = ClientePasajeRepository.BuscarEmpresa(RucContacto); // Consulta 'SUNAT' if (string.IsNullOrEmpty(buscaEmpresa.RucCliente)) { var resConsultaSUNAT = ConsultaSUNAT(RucContacto); if (resConsultaSUNAT.EsCorrecto) { buscaEmpresa.RazonSocial = resConsultaSUNAT.Valor.RazonSocial; buscaEmpresa.Direccion = resConsultaSUNAT.Valor.Direccion; } else { return(new Response <RucEntity>(false, buscaEmpresa, resConsultaSUNAT.Mensaje, true)); } } return(new Response <RucEntity>(true, buscaEmpresa, Message.MsgCorrectoBuscaEmpresa, true)); } catch (Exception ex) { Log.Instance(typeof(ClientePasajeLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex); return(new Response <RucEntity>(false, null, Message.MsgExcBuscaEmpresa, false)); } }
public static Response <bool> GrabarPasajero(List <ClientePasajeEntity> lista) { try { foreach (var entidad in lista) { // Seteo el 'TipoDocumentoHomologado' entidad.TipoDoc = VentaLogic.TipoDocumentoHomologado(entidad.TipoDoc).ToString(); if (entidad.IdCliente > 0) { // Modifica 'Pasajero' ClientePasajeRepository.ModificarPasajero(entidad); } else { // Graba 'Pasajero' ClientePasajeRepository.GrabarPasajero(entidad); } // Valida 'RucContacto' if (string.IsNullOrEmpty(entidad.RucContacto)) { continue; } // Busca 'Empresa' var buscarEmpresa = ClientePasajeRepository.BuscarEmpresa(entidad.RucContacto); var objEmpresa = new RucEntity { RucCliente = entidad.RucContacto ?? string.Empty, RazonSocial = entidad.RazonSocial ?? string.Empty, Direccion = entidad.Direccion ?? string.Empty, Telefono = string.Empty }; if (!string.IsNullOrEmpty(buscarEmpresa.RucCliente)) { // Modifica 'Empresa' ClientePasajeRepository.ModificarEmpresa(objEmpresa); } else { // Graba 'Empresa' ClientePasajeRepository.GrabarEmpresa(objEmpresa); } } return(new Response <bool>(true, true, Message.MsgCorrectoGrabarClientePasaje, true)); } catch (Exception ex) { Log.Instance(typeof(ClientePasajeLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex); return(new Response <bool>(false, false, Message.MsgExcGrabarClientePasaje, false)); } }
public static Response <List <ClientePasajeEntity> > BuscarClientesPasaje(string campo, string nombres, string paterno, string materno, string TipoDocId) { try { var BuscarClientesPasaje = ClientePasajeRepository.BuscarClientesPasaje(campo, nombres, paterno, materno, VentaLogic.TipoDocumentoHomologado(TipoDocId).ToString()); return(new Response <List <ClientePasajeEntity> >(true, BuscarClientesPasaje, Message.MsgCorrectoBuscarClientesPasaje, true)); } catch (Exception ex) { Log.Instance(typeof(VentaLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex); return(new Response <List <ClientePasajeEntity> >(false, null, Message.MsgExcBuscarClientesPasaje, false)); } }
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 Response <ClientePasajeEntity> BuscaPasajero(string TipoDoc, string NumeroDoc) { try { var buscaPasajero = ClientePasajeRepository.BuscaPasajero(VentaLogic.TipoDocumentoHomologado(TipoDoc).ToString(), NumeroDoc); // Valida 'FechaNacimiento' if (buscaPasajero.FechaNacimiento == "01/01/1900") { buscaPasajero.FechaNacimiento = string.Empty; buscaPasajero.Edad = 0; } var buscaEmpresa = new RucEntity(); if (!string.IsNullOrEmpty(buscaPasajero.RucContacto)) { buscaEmpresa = ClientePasajeRepository.BuscarEmpresa(buscaPasajero.RucContacto); buscaPasajero.RazonSocial = buscaEmpresa.RazonSocial; buscaPasajero.Direccion = buscaEmpresa.Direccion; } // Con esto nos aseguramos que estamos tomando solo la 'Direccion' de la empresa else { buscaPasajero.Direccion = string.Empty; } // Consulta 'RENIEC' if (TipoDoc == "01" && string.IsNullOrEmpty(buscaPasajero.NumeroDoc)) { var resConsultaRENIEC = ConsultaRENIEC(NumeroDoc); if (resConsultaRENIEC.EsCorrecto) { buscaPasajero.ApellidoPaterno = resConsultaRENIEC.Valor.ApellidoPaterno; buscaPasajero.ApellidoMaterno = resConsultaRENIEC.Valor.ApellidoMaterno; buscaPasajero.NombreCliente = resConsultaRENIEC.Valor.Nombres; } else { return(new Response <ClientePasajeEntity>(false, buscaPasajero, resConsultaRENIEC.Mensaje, true)); } } // Consulta 'SUNAT' if (!string.IsNullOrEmpty(buscaPasajero.RucContacto) && buscaPasajero.RucContacto.Length == 11) { if (string.IsNullOrEmpty(buscaEmpresa.RucCliente)) { var resConsultaSUNAT = ConsultaSUNAT(buscaPasajero.RucContacto); if (resConsultaSUNAT.EsCorrecto) { buscaPasajero.RazonSocial = resConsultaSUNAT.Valor.RazonSocial; buscaPasajero.Direccion = resConsultaSUNAT.Valor.Direccion; } else { return(new Response <ClientePasajeEntity>(false, buscaPasajero, resConsultaSUNAT.Mensaje, true)); } } } return(new Response <ClientePasajeEntity>(true, buscaPasajero, Message.MsgCorrectoBuscaPasajero, true)); } catch (Exception ex) { Log.Instance(typeof(ClientePasajeLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex); return(new Response <ClientePasajeEntity>(false, null, Message.MsgExcBuscaPasajero, false)); } }
public static Response <ReintegroEntity> VentaConsultaF12(ReintegroRequest request) { try { var valor = ReintegroRepository.VentaConsultaF12(request); //Datos adicionales: 'FechaNacimiento' var clientePasaje = ClientePasajeRepository.BuscaPasajero(VentaLogic.TipoDocumentoHomologado(valor.TipoDocumento).ToString(), valor.Dni); valor.FechaNac = clientePasaje.FechaNacimiento; if (valor.IdVenta == 0) { return(new Response <ReintegroEntity>(false, valor, Message.MsgExcF12NoExiste, true)); } //Setea Razón Social y Dirección con el RUC if (!string.IsNullOrEmpty(valor.RucCliente)) { var buscarEmpresa = ClientePasajeRepository.BuscarEmpresa(valor.RucCliente); valor.RazonSocial = buscarEmpresa.RazonSocial; valor.Direccion = buscarEmpresa.Direccion; } else { valor.RazonSocial = string.Empty; valor.Direccion = string.Empty; } // Busca 'AgenciaEmpresa' (E -> GenerarAdicionales, M -> También se va a necesitar.) var buscarAgenciaEmpresa = new AgenciaEntity(); buscarAgenciaEmpresa = VentaRepository.BuscarAgenciaEmpresa(valor.CodiEmpresa, valor.CodiPuntoVenta); valor.DirEmbarque = buscarAgenciaEmpresa.Direccion; //Verifica si el boleto está en Fecha Abierta if (valor.CodiProgramacion != 0) { var programacion = ReintegroRepository.DatosProgramacion(valor.CodiProgramacion); //Verifica si no tiene Programación, caso contrario setea Ruta y Servicio if (programacion.CodiRuta != 0 && programacion.CodiServicio != 00) { valor.CodiRuta = programacion.CodiRuta; valor.CodiServicio = programacion.CodiServicio; valor.CodiBus = programacion.CodiBus; } else { valor.CodiError = 2; return(new Response <ReintegroEntity>(false, valor, Message.MsgExcF12SinProgramacion, true)); } //Verfica si tiene Nota de Crédito var notaCredito = VentaRepository.VerificaNC(valor.IdVenta); if (Convert.ToInt32(notaCredito.id) > 0) { valor.CodiError = 3; return(new Response <ReintegroEntity>(false, valor, Message.MsgExcF12NotaCredito + " " + notaCredito.label, true)); } //Verfica si esta como Reintegro if (valor.FlagVenta == "O") { valor.CodiError = 4; return(new Response <ReintegroEntity>(false, valor, Message.MsgExcF12EsReintegro, true)); } //Verfica si ya tiene adjunto un Reintegro if (valor.CodiEsca != "") { valor.CodiError = 5; return(new Response <ReintegroEntity>(false, valor, Message.MsgExcF12TieneReintegro, true)); } } else { valor.CodiError = 1; return(new Response <ReintegroEntity>(false, valor, Message.MsgExcF12EsFechaAbierta, true)); } return(new Response <ReintegroEntity>(true, valor, Message.MsgCorrectoVentaConsultaF12, true)); } catch (Exception ex) { Log.Instance(typeof(FechaAbiertaLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex); return(new Response <ReintegroEntity>(false, null, Message.MsgExcVentaConsultaF12, false)); } }