private void ValidateNM(DocumentosEmisionNM _docsEmisionNM, ref DocEmisionRS _docEmisionRS, ref UsuarioLogin UserLogin, ref CotizacionVta CotizacionVta) { string mensajeError = string.Empty; if (_docsEmisionNM == null) { cargarError(ref _docEmisionRS, "Envie correctamente los parametros de entrada - RQ Nulo|"); return; } if (string.IsNullOrEmpty(_docsEmisionNM.idOportunidad_SF)) { mensajeError += "La oportunidad SF es un campo obligatorio|"; } if (_docsEmisionNM.IdUsuarioSrv_SF <= 0) { mensajeError += "El IdUsuarioSrv_SF es un campo obligatorio|"; } if (_docsEmisionNM.idCotizacionSRV <= 0) { mensajeError += "El idCotizacionSRV es un campo obligatorio|"; } if (string.IsNullOrEmpty(_docsEmisionNM.correo)) { mensajeError += "El correo es un campo obligatorio|"; } else if (ValidateProcess.validarEmail(_docsEmisionNM.correo) == false) { mensajeError += "El formato del correo es incorrecto|"; } if (string.IsNullOrEmpty(mensajeError)) { /*Cargamos Datos del Usuario*/ RepositoryByBusiness(null); UserLogin = _datosUsuario.Get_Dts_Usuario_Personal_NM(_docsEmisionNM.IdUsuarioSrv_SF); if (UserLogin == null) { mensajeError += "ID del Usuario no registrado|"; } /*Validacion Oportunidad*/ int intCotizacion_SF = _oportunidadVentaNMRepository._Select_CotId_X_OportunidadSF(_docsEmisionNM.idOportunidad_SF); if (intCotizacion_SF <= 0) { mensajeError += "No existe la oportunidad en el ambiente de Expertia|"; } else if (intCotizacion_SF > 0 && intCotizacion_SF != _docsEmisionNM.idCotizacionSRV) { mensajeError += "La cotizacion enviada es diferente a la registrada|"; } if (string.IsNullOrEmpty(mensajeError)) { CotizacionVta = _cotizacionSRV_Repository.Get_Datos_CotizacionVta((int)_docsEmisionNM.idCotizacionSRV); if (CotizacionVta == null || CotizacionVta.IdCot == 0) { mensajeError = "No existe informacion de la cotizacion enviada"; } else if (CotizacionVta.IdEstado != (short)ENUM_ESTADOS_COT_VTA.Facturado) { mensajeError = "La cotizacion no se encuentra facturado, no es posible enviar documentos"; } else if (!(CotizacionVta.IdReservaVuelos != null && CotizacionVta.IdReservaVuelos > 0)) { mensajeError = "No se puede enviar ningún documento porque no está asociada a una reserva automática."; } } } if (string.IsNullOrEmpty(mensajeError) == false) { _docEmisionRS.codigo = "ER"; _docEmisionRS.mensaje = "VA: " + mensajeError; } }
private void valCreateOportunidadNM(ref OportunidadVentaNM _oportunidadVentaNM, ref RptaOportunidadVentaNM _rptaOportunidadVentaNM, ref UsuarioLogin UserLogin, ref CotizacionVta CotizacionVta) { string mensajeError = string.Empty; Dictionary <string, string> TipoDocumentos = new Dictionary <string, string>() { { "DNI", "DNI" }, { "CEX", "CARNÉ DE EXTRANJERÍA" }, { "PSP", "PASAPORTE" } }; if (_oportunidadVentaNM == null) { cargarError(ref _rptaOportunidadVentaNM, "Envie correctamente los parametros de entrada - RQ Nulo|"); return; } if (string.IsNullOrEmpty(_oportunidadVentaNM.Accion_SF)) { mensajeError += "La accion es un campo obligatorio|"; } else if (_oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE" && _oportunidadVentaNM.IdCotSRV == null) { mensajeError += "El Id de Cotizacion es obligatorio al actualizar|"; } else if (_oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "INSERT" && _oportunidadVentaNM.IdCotSRV != null) { mensajeError += "Al insertar el Id de Cotizacion debe ser nulo|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.idCuenta_SF)) { mensajeError += "La cuenta SF es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.IdOportunidad_SF)) { mensajeError += "La oportunidad SF es un campo obligatorio|"; } if (_oportunidadVentaNM.IdCanalVenta <= 0) { mensajeError += "Envie un canal de venta correcto|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.NombreCli)) { mensajeError += "El nombre del cliente es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.ApePatCli)) { mensajeError += "El apellido paterno del cliente es un campo obligatorio|"; } if (!(string.IsNullOrEmpty(_oportunidadVentaNM.IdTipoDoc) == false && string.IsNullOrEmpty(_oportunidadVentaNM.NumDoc) == false && TipoDocumentos.Values.Contains(_oportunidadVentaNM.IdTipoDoc.Trim().ToUpper()))) { if (string.IsNullOrEmpty(_oportunidadVentaNM.EmailCli)) { mensajeError += "El correo del cliente es un campo obligatorio|"; } } else if (string.IsNullOrEmpty(_oportunidadVentaNM.EmailCli)) { if (!(string.IsNullOrEmpty(_oportunidadVentaNM.IdTipoDoc) == false && string.IsNullOrEmpty(_oportunidadVentaNM.NumDoc) == false && TipoDocumentos.Values.Contains(_oportunidadVentaNM.IdTipoDoc.Trim().ToUpper()))) { mensajeError += "El tipo y número de documento del cliente es un campo obligatorio|"; } } if (string.IsNullOrEmpty(_oportunidadVentaNM.IdTipoDoc) == false) { if (TipoDocumentos.Values.Contains(_oportunidadVentaNM.IdTipoDoc.Trim().ToUpper())) { string NameTipoDoc = _oportunidadVentaNM.IdTipoDoc.Trim().ToUpper(); _oportunidadVentaNM.IdTipoDoc = TipoDocumentos.Where(p => p.Value == NameTipoDoc).FirstOrDefault().Key; } else { mensajeError += "El tipo de documento no es un valor soportado|"; } } if (string.IsNullOrEmpty(_oportunidadVentaNM.CiudadIata)) { mensajeError += "La Ciudad Iata es un campo obligatorio|"; } //if (string.IsNullOrEmpty(_oportunidadVentaNM.IdDestino)) //{ // mensajeError += "Los destinos principales es un campo obligatorio|"; //} if (string.IsNullOrEmpty(_oportunidadVentaNM.EnviarPromociones)) { mensajeError += "La opcion de envio de promociones es un campo obligatorio 0 - 1|"; } if (_oportunidadVentaNM.IdUsuarioSrv_SF <= 0) { mensajeError += "Envie un ID de usuario SRV valido|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.Comentario)) { mensajeError += "El comentario es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.Estado)) { mensajeError += "El estado es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.ServiciosAdicionales)) { mensajeError += "Los Servicios Adicionales son un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.tipoCotizacion)) { mensajeError += "El tipo de cotizacion es un campo obligatorio|"; } if (_oportunidadVentaNM.ModoIngreso <= 0) { mensajeError += "Envie un Modo de Ingreso valido|"; } if (_oportunidadVentaNM.CantidadAdultos <= 0) { mensajeError += "La cantidad de adultos es un campo obligatorio|"; } if (_oportunidadVentaNM.CantidadNinos == null) { _oportunidadVentaNM.CantidadNinos = 0; } /*Validacion en caso envien informacion*/ if (_oportunidadVentaNM.FechaIngreso != null && _oportunidadVentaNM.FechaIngreso < DateTime.Now) { mensajeError += "La fecha de salida debe ser mayor a la fecha actual|"; } else if (_oportunidadVentaNM.FechaIngreso != null & _oportunidadVentaNM.Fecharegreso != null) { if (_oportunidadVentaNM.FechaIngreso > _oportunidadVentaNM.Fecharegreso) { mensajeError += "La fecha de regreso debe ser mayor a la fecha de salida|"; } } if (string.IsNullOrEmpty(mensajeError)) { /*Cargamos Datos del Usuario*/ RepositoryByBusiness(null); UserLogin = _datosUsuario.Get_Dts_Usuario_Personal_NM(_oportunidadVentaNM.IdUsuarioSrv_SF); if (UserLogin == null) { mensajeError += "ID del Usuario no registrado|"; } else if (UserLogin.IdUsuario != _oportunidadVentaNM.IdUsuarioSrv_SF) { _oportunidadVentaNM.IdUsuarioSrv_SF = UserLogin.IdUsuario; } _oportunidadVentaNM.idEstado = (short)_oportunidadVentaNMRepository._Select_EstadoIdXName(_oportunidadVentaNM.Estado); if (_oportunidadVentaNM.idEstado <= 0) { mensajeError += "Envie un estado valido|"; } /*Validacion Oportunidad*/ int intCotizacion_SF = _oportunidadVentaNMRepository._Select_CotId_X_OportunidadSF(_oportunidadVentaNM.IdOportunidad_SF); if (intCotizacion_SF <= 0 && _oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE") { mensajeError += "No es posible actualizar si la oportunidad no esta registrada|"; } else if (intCotizacion_SF > 0 && _oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "INSERT") { mensajeError += "No es posible insertar si la oportunidad ya esta registrada|"; } else if (intCotizacion_SF > 0 && _oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE" && intCotizacion_SF != _oportunidadVentaNM.IdCotSRV) { mensajeError += "La cotizacion enviada es diferente a la registrada|"; } else { /*Adicionalmente si envian el id de un counter administrativo y este no existe modificar por el counter por defecto*/ if (_oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE" && _oportunidadVentaNM.counterAsignado != null && _oportunidadVentaNM.counterAsignado > 0) { UsuarioLogin UserLoginCA = _datosUsuario.Get_Dts_Usuario_Personal_NM((Int32)_oportunidadVentaNM.counterAsignado); if (UserLoginCA != null && UserLoginCA.IdUsuario != _oportunidadVentaNM.counterAsignado) { _oportunidadVentaNM.counterAsignado = UserLoginCA.IdUsuario; } } } if (_oportunidadVentaNM.IdCotSRV != null && string.IsNullOrEmpty(mensajeError)) { CotizacionVta = _cotizacionSRV_Repository.Get_Datos_CotizacionVta((int)_oportunidadVentaNM.IdCotSRV); if (CotizacionVta == null || CotizacionVta.IdCot == 0) { cargarError(ref _rptaOportunidadVentaNM, "No existe informacion de la cotizacion enviada|"); return; } /*Validaciones Valores Opcionales*/ if (_oportunidadVentaNM.idEstado != CotizacionVta.IdEstado) { if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA || _oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.Facturado) { if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.Facturado) { if (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM | UserLogin.IdDep == Constantes_SRV.INT_ID_DEP_SISTEMAS) { if (!(_oportunidadVentaNM.ModalidadCompra != null && (_oportunidadVentaNM.ModalidadCompra == 0 || _oportunidadVentaNM.ModalidadCompra == 1))) { cargarError(ref _rptaOportunidadVentaNM, "Debe enviar la modalidad de compra|"); return; } } } if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA && (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM | UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_TRAVEL_STORE | UserLogin.IdDep == Constantes_SRV.INT_ID_DEP_SISTEMAS)) { if (_oportunidadVentaNM.fechaPlazoEmision == null) { cargarError(ref _rptaOportunidadVentaNM, "Debe enviar la fecha y hora de emisión|"); return; } } List <int> lstPedidosSinBanco = _oportunidadVentaNMRepository._Select_Pedidos_SinBancoBy_IdCot((int)_oportunidadVentaNM.IdCotSRV); if (lstPedidosSinBanco.Count > 0) { if (lstPedidosSinBanco.Count == 1) { cargarError(ref _rptaOportunidadVentaNM, ("Para cambiar a este estado debe registrar la entidad bancaria en el pedido nro. " + lstPedidosSinBanco[0])); return; } else { string strNrosPedido = ""; foreach (int intIdPedido in lstPedidosSinBanco) { strNrosPedido += intIdPedido + ", "; } strNrosPedido += "."; strNrosPedido = strNrosPedido.Replace(", .", "."); cargarError(ref _rptaOportunidadVentaNM, ("Para cambiar a este estado debe registrar la entidad bancaria en los sgtes. pedidos: " + strNrosPedido)); return; } } if (CotizacionVta.IdReservaVuelos == null && (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA || _oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA_Paq)) { if (string.IsNullOrEmpty(_oportunidadVentaNM.CodReserva)) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el código de reserva de vuelo."); return; } else if (_oportunidadVentaNM.MontoCompra == null) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el monto de la venta."); return; } } } if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.NoCompro) { if (string.IsNullOrEmpty(_oportunidadVentaNM.IdMotivoNoCompro)) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el motivo del cierre perdido."); return; } else if (ValidateProcess.isInt32(_oportunidadVentaNM.IdMotivoNoCompro) == false) { cargarError(ref _rptaOportunidadVentaNM, "Envie un motivo correcto de cierre perdido."); return; } } } if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.Cotizado) { if (_oportunidadVentaNMRepository._EsCounterAdministratiivo(UserLogin.IdOfi)) { if (_oportunidadVentaNM.MontoEstimado == null) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el monto estimado del file."); return; } } } /*Validacion : Asignarse - Emitido*/ bool Asignar = false, Emitir = false;; _oportunidadVentaNM.Asignarse = ((_oportunidadVentaNM.counterAsignado != null && _oportunidadVentaNM.counterAsignado > 0) ? true : false); /*El codigo si permite la reasignacion pero el store procedure no.*/ if (_oportunidadVentaNM.Asignarse == true || _oportunidadVentaNM.Emitido == true) { if (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM || (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMV && UserLogin.IdDep == Constantes_SRV.INT_ID_DEP_EMERGENCIAS) || UserLogin.EsSupervisorSRV) { if (_oportunidadVentaNM.Asignarse == true) { if (CotizacionVta.IdUsuWebCA.HasValue) { if (_oportunidadVentaNM.counterAsignado == CotizacionVta.IdUsuWebCA.Value) { Asignar = false; } else { Asignar = true; } } else { Asignar = true; } } if (_oportunidadVentaNM.Emitido == true && (!CotizacionVta.EsEmitido)) { Emitir = true; } } else if (UserLogin.EsCounterAdminSRV) { if (_oportunidadVentaNMRepository._EsCounterAdministratiivo(CotizacionVta.IdOfi) && _oportunidadVentaNMRepository._EsCounterAdministratiivo(UserLogin.IdOfi)) { if (_oportunidadVentaNM.Asignarse == true) { if (CotizacionVta.IdUsuWebCA.HasValue) { if (_oportunidadVentaNM.counterAsignado == CotizacionVta.IdUsuWebCA.Value) { Asignar = false; } else { Asignar = true; } } else { Asignar = true; } } } } /*Validacion Asignarse (Actualizamos la Asignacion)*/ _oportunidadVentaNM.Asignarse = Asignar; /*Validacion Emitido (Actualizamos el p_Emitido)*/ _oportunidadVentaNM.Emitido = Emitir; } } } if (string.IsNullOrEmpty(mensajeError) == false) { _rptaOportunidadVentaNM.codigo = "ER"; _rptaOportunidadVentaNM.mensaje = "VA: " + mensajeError; } }
private void validacionPedido(ref DatosPedido _pedido, ref Models.PedidoRS _resultPedido, ref bool _return, ref UsuarioLogin UserLogin) { _return = false; string mensajeError = string.Empty; _pedido.IdLang = 1; _pedido.IdWeb = 0; string metodoDePago = string.Empty; if (_pedido.IdCotVta <= 0) { mensajeError += "Envie el codigo de SRV|"; } if (string.IsNullOrEmpty(_pedido.NombreClienteCot) || string.IsNullOrEmpty(_pedido.ApellidoClienteCot)) { mensajeError += "Envie los datos del SRV|"; } if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_PAGOEFECTIVO) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_CASH) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_INTERN) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_ONLINE) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_AMERICANEX) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_DINERS) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_MASTERCARD) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_MASTERCARD_CA) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_VISA) { metodoDePago = _pedido.CodePasarelaPago; } if (string.IsNullOrEmpty(_pedido.CodePasarelaPago)) { mensajeError += "Envie el tipo de pasarela|"; } else if (!_pedido.CodePasarelaPago.Trim().Contains(metodoDePago)) { mensajeError += "No se tiene registrado esta pasarela de pago|"; } if (string.IsNullOrEmpty(_pedido.DetalleServicio)) { mensajeError += "Envie el detalle del servicio|"; } if (string.IsNullOrEmpty(_pedido.Email)) { mensajeError += "Envie su Email|"; } if (string.IsNullOrEmpty(_pedido.Monto)) { mensajeError += "Envie el monto|"; } if (!string.IsNullOrEmpty(_pedido.Monto) && _pedido.Monto.Contains(",")) { mensajeError += "El uso de la coma (,) no es válido como separador decimal."; } if (_pedido.TiempoExpiracionCIP == null || _pedido.TiempoExpiracionCIP <= 0) { mensajeError += "Envie el tiempo de expiracion del CIP|"; } if (_pedido.UnidadNegocio == null || string.IsNullOrEmpty(_pedido.UnidadNegocio.Descripcion)) /*Duda*/ { mensajeError += "Envie los datos de su unidad de negocio|"; } if (string.IsNullOrEmpty(_pedido.IdUsuario) == false && ValidateProcess.isInt32(_pedido.IdUsuario) == true) { /*Cargamos Datos del Usuario*/ _datosUsuario = new DatosUsuario(_pedido.UnidadNegocio.ID); UserLogin = _datosUsuario.Get_Dts_Usuario_Personal_NM(Convert.ToInt32(_pedido.IdUsuario)); if (UserLogin == null) { mensajeError += "ID del Usuario no registrado|"; } else if (UserLogin.IdUsuario != Convert.ToInt32(_pedido.IdUsuario)) { _pedido.IdUsuario = UserLogin.IdUsuario.ToString(); } } else { mensajeError += "Envie el ID del Usuario correctamente|"; } if (string.IsNullOrEmpty(_pedido.IdOportunidad_SF)) { mensajeError += "Envie el IdOportunidad_SF|"; } if (string.IsNullOrEmpty(_pedido.IdSolicitudpago_SF)) { mensajeError += "Envie el IdSolicitudpago_SF"; } if (string.IsNullOrEmpty(mensajeError) == false) { _return = true; _resultPedido.CodigoError = "ER"; _resultPedido.MensajeError = "VP - " + mensajeError; } else { if (_pedido.IdCanalVta != null && _pedido.IdCanalVta == Constantes_Pedido.ID_CANAL_VENTA_CONTACT_CENTER) { _pedido.IdWeb = Webs_Cid.ID_WEB_IA; } if (_pedido.IdWeb == 0) { if ((UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_INTERNO) | (UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_RECEPTIVO) | (UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_OPERACIONES)) { _pedido.IdWeb = Webs_Cid.ID_WEB_NMV_RECEPTIVO; } else if ((UserLogin.IdOfi == Oficina.ID_OFI_NMVCOM & UserLogin.IdDep == Departamento.ID_DEP_COUNTER) | (UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_SISTEMAS)) { _pedido.IdWeb = Webs_Cid.NM_WEB_ID; } else { _pedido.IdWeb = Webs_Cid.ID_WEB_WEBFAREFINDER; } } } }