internal static void ApiSolicitudEndConsul(InsertPersonasWeb insertPersonasWeb, ref DTO_SOLICITUD_VENTAS persona) { string xClase = string.Format("{0}|{1}", MethodBase.GetCurrentMethod().Module.Name, MethodBase.GetCurrentMethod().DeclaringType.Name); string xProceso = MethodBase.GetCurrentMethod().Name; var dto = new DynamicDto(); dto.ParameterList = new List <SpParameter>(); dto.ParameterList.AddRange(from nodo in insertPersonasWeb.GetType().GetProperties() where nodo.GetValue(insertPersonasWeb) != null select new SpParameter { Name = nodo.Name, Value = nodo.GetValue(insertPersonasWeb).ToString() } ); dto.Result = null; dto.SPName = "usp_ValidarPIN"; var dto_excepcion = new UTL_TRA_EXCEPCION { STR_CLASE = xClase, STR_EVENTO = xProceso, STR_PARAMETROS = JsonConvert.SerializeObject(insertPersonasWeb), STR_APLICATIVO = ConfigurationManager.AppSettings["Aplicativo"], STR_SERVIDOR = System.Net.Dns.GetHostName() }; try { var obj = DynamicSqlDAO.ExecuterSp(dto, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); var dto_result = new List <DTO_SOLICITUD_VENTAS>(); if (obj.HasResult) { dto_result = JsonConvert.DeserializeObject <List <DTO_SOLICITUD_VENTAS> >(JsonConvert.SerializeObject(obj.Result.Tables[0])); } persona = dto_result.ToList().FirstOrDefault(); if (persona != null) { persona.Status = dto_result.Any() ? dto_result.ToList().FirstOrDefault().Status : null; } else { persona = new DTO_SOLICITUD_VENTAS(); } } catch (Exception ex) { dto_excepcion.STR_MENSAJE = ex.Message; dto_excepcion.STR_DETALLE = ex.StackTrace; TwoFunTwoMe_DataAccess.Utility.guardaExcepcion(dto_excepcion, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); } }
public ActionResult InsertarNuevaSolictitudes(DTO_SOLICITUD_VENTAS solicitudes) { int contadorIntentos = 0; InsertPersonasWeb persona = new InsertPersonasWeb(); try { if (ModelState.IsValid) { persona.Identificacion = solicitudes.Identificacion; persona.TelefonoCel = solicitudes.Telefono; persona.Correo = solicitudes.Mail; persona.SubOrigen = solicitudes.SubOrigen; persona.UsrModifica = Convert.ToString(Session["agente"]); persona.Origen = GlobalClass.Origen_Apps; Models.Manager.clsInsertaSolicitud.InsertaSolicitudesInvoke(ref persona); if (persona.UltidSolicitud == null) { persona.UltidSolicitud = 0; } System.Threading.Thread.Sleep(9000); while ((solicitudes.Status == 12 || solicitudes.Status == null || solicitudes.Status == 0) && (contadorIntentos < 50)) { Models.Manager.clsInsertaSolicitud.ApiSolicitudEndConsul(persona, ref solicitudes); contadorIntentos++; } solicitudes.Identificacion = persona.Identificacion; if (persona.SegundoNombre != "") { solicitudes.Nombre = persona.PrimerNombre + " " + persona.SegundoNombre + " " + persona.PrimerApellido + " " + persona.SegundoApellido; } else { solicitudes.Nombre = persona.PrimerNombre + " " + persona.PrimerApellido + " " + persona.SegundoApellido; } } } catch (Exception ex) { solicitudes.Status = -1; solicitudes.Mensaje = ex.Message; return(Json(solicitudes)); //persona.Respuesta = "Ocurrio un Error"; } //return View(asignacionbuckets); return(Json(solicitudes)); }
private static void InserteSolicStartConsult(InsertPersonasWeb insertPersonasWeb, ref InsertPersonasWeb persona) { string xClase = string.Format("{0}|{1}", MethodBase.GetCurrentMethod().Module.Name, MethodBase.GetCurrentMethod().DeclaringType.Name); string xProceso = MethodBase.GetCurrentMethod().Name; var dto_excepcion = new UTL_TRA_EXCEPCION { STR_CLASE = xClase, STR_EVENTO = xProceso, STR_PARAMETROS = JsonConvert.SerializeObject(insertPersonasWeb), STR_APLICATIVO = ConfigurationManager.AppSettings["Aplicativo"], STR_SERVIDOR = System.Net.Dns.GetHostName() }; insertPersonasWeb.Correo = string.IsNullOrEmpty(insertPersonasWeb.Correo) ? "no tiene" : insertPersonasWeb.Correo; insertPersonasWeb.Origen = GlobalClass.Origen_Apps; try { // insertPersonasWeb.URL = "http://localhost:52045//api/TwoFunTwoMe/GuardarPersonaWeb"; RestClient cliente = new RestClient(insertPersonasWeb.URL); // Dirección web del reporte RestRequest request = new RestRequest(); // Clase propia del RestSharp para asignar parámetros de envio. // request.AddHeader("Authorization", buro.Authorization); // Aquí va el token generado para Desyfin request.Method = Method.POST; request.AddHeader("Accept", "application/json"); //request.AddHeader("Accept", "application/xml"); request.AddJsonBody(JsonConvert.SerializeObject(insertPersonasWeb)); var respuesta = cliente.Execute(request); // Metodo que ejecuta la solicitud. if (respuesta.StatusCode == System.Net.HttpStatusCode.OK) // Si retorna OK, el reporte fue generado. { persona = JsonConvert.DeserializeObject <InsertPersonasWeb>(respuesta.Content); } else { persona.Respuesta = "No se pudo ingresar la solicitud"; throw new Exception(persona.Respuesta); } } catch (Exception ex) { dto_excepcion.STR_MENSAJE = ex.Message; dto_excepcion.STR_DETALLE = ex.StackTrace; TwoFunTwoMe_DataAccess.Utility.guardaExcepcion(dto_excepcion, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); throw ex; } }
private static bool ConsultaUltimoIngresoSolicitud(InsertPersonasWeb persona) { string xClase = string.Format("{0}|{1}", MethodBase.GetCurrentMethod().Module.Name, MethodBase.GetCurrentMethod().DeclaringType.Name); string xProceso = MethodBase.GetCurrentMethod().Name; var dto_excepcion = new UTL_TRA_EXCEPCION { STR_CLASE = xClase, STR_EVENTO = xProceso, STR_PARAMETROS = JsonConvert.SerializeObject(persona), STR_APLICATIVO = ConfigurationManager.AppSettings["Aplicativo"], STR_SERVIDOR = System.Net.Dns.GetHostName() }; var dto = new DynamicDto(); dto.ParameterList = new List <SpParameter>(); dto.ParameterList.AddRange(from nodo in persona.GetType().GetProperties() where nodo.GetValue(persona) != null select new SpParameter { Name = nodo.Name, Value = nodo.GetValue(persona).ToString() } ); dto.Result = null; dto.SPName = "usp_consulta_ultimo_ingreso_solicitud"; try { var obj = DynamicSqlDAO.ExecuterSp <InsertPersonasWeb>(dto, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); return(obj.Any()); } catch (Exception ex) { dto_excepcion.STR_MENSAJE = ex.Message; dto_excepcion.STR_DETALLE = ex.StackTrace; TwoFunTwoMe_DataAccess.Utility.guardaExcepcion(dto_excepcion, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); } return(false); }
public void insertaColaRabbit(InsertPersonasWeb personasWeb) { string xClase = string.Format("{0}|{1}", MethodBase.GetCurrentMethod().Module.Name, MethodBase.GetCurrentMethod().DeclaringType.Name); string xProceso = MethodBase.GetCurrentMethod().Name; string strHostName = System.Net.Dns.GetHostName(); //IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); <-- Obsolete IPHostEntry ipHostInfo = Dns.GetHostEntry(strHostName); IPAddress ipAddress = ipHostInfo.AddressList[0]; var dto_excepcion = new UTL_TRA_EXCEPCION { STR_CLASE = xClase, STR_EVENTO = xProceso, STR_APLICATIVO = ConfigurationManager.AppSettings["APLICATIVO"].ToString(), STR_SERVIDOR = ipAddress.ToString(), STR_PARAMETROS = JsonConvert.SerializeObject(personasWeb) }; var dto_Config = new Tab_ConfigSys { llave_Config1 = "SERVICIO", llave_Config2 = "CONFIGURACION", llave_Config3 = "SERVIDOR", llave_Config4 = "RABBIT" }; try { var dto_ret_config = GetConfigRabbit(dto_Config); var factory = new ConnectionFactory() { HostName = dto_ret_config.Where(x => x.llave_Config5 == "HOSTNAME").Select(x => x.Dato_Char1).FirstOrDefault(), //Port = 15672, Password = dto_ret_config.Where(x => x.llave_Config5 == "PASSWORD").Select(x => x.Dato_Char1).FirstOrDefault(), UserName = dto_ret_config.Where(x => x.llave_Config5 == "USERNAME").Select(x => x.Dato_Char1).FirstOrDefault() }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) { //channel.QueueDeclare(queue: dto_ret_config.Where(x => x.llave_Config5 == "EXCHANGES_SOLICITUDES").Select(x => x.Dato_Char1).FirstOrDefault(), // durable: true, // exclusive: false, // autoDelete: false, // arguments: null); string message = string.Concat(personasWeb.Identificacion, "~", personasWeb.IdTipoIdentificacion, "~", personasWeb.PrimerNombre, "~", personasWeb.SegundoNombre, "~", personasWeb.PrimerApellido, "~", personasWeb.SegundoApellido, "~", personasWeb.TelefonoCel, "~", personasWeb.Correo, "~", personasWeb.IdProducto, "~", personasWeb.IdBanco, "~", personasWeb.UsrModifica, "~", personasWeb.Origen); var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange: dto_ret_config.Where(x => x.llave_Config5 == "EXCHANGES_SOLICITUDES").Select(x => x.Dato_Char1).FirstOrDefault(), routingKey: "", basicProperties: null, body: body); //channel.BasicPublish(exchange: "", // routingKey: dto_ret_config.Where(x => x.llave_Config5 == "QUEUE").Select(x => x.Dato_Char1).FirstOrDefault(), // basicProperties: null, // body: body); } } catch (Exception ex) { dto_excepcion.STR_MENSAJE = ex.Message; manage = new Manager(); DynamicSqlDAO.guardaExcepcion(dto_excepcion, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); } }
internal static void InsertaSolicitudesInvoke(ref InsertPersonasWeb persona) { var InsertPersonasWeb = new InsertPersonasWeb(); string xClase = string.Format("{0}|{1}", MethodBase.GetCurrentMethod().Module.Name, MethodBase.GetCurrentMethod().DeclaringType.Name); string xProceso = MethodBase.GetCurrentMethod().Name; var dto_excepcion = new UTL_TRA_EXCEPCION { STR_CLASE = xClase, STR_EVENTO = xProceso, STR_PARAMETROS = JsonConvert.SerializeObject(persona), STR_APLICATIVO = ConfigurationManager.AppSettings["Aplicativo"], STR_SERVIDOR = System.Net.Dns.GetHostName() }; try { var next = ConsultaUltimoIngresoSolicitud(persona); if (!next) { ConsultaConfigConsultaWebApiInsertPerWeb(persona, ref InsertPersonasWeb); if (InsertPersonasWeb != null) { var Nombre = InsertPersonasWeb.nombre.Split(' '); InsertPersonasWeb.PrimerNombre = Nombre[0]; InsertPersonasWeb.SegundoNombre = ""; if (Nombre.Count() >= 2) { InsertPersonasWeb.SegundoNombre = Nombre[1]; } if (Nombre.Count() >= 3) { InsertPersonasWeb.SegundoNombre = InsertPersonasWeb.SegundoNombre + ' ' + Nombre[2]; } if (Nombre.Count() >= 4) { InsertPersonasWeb.SegundoNombre = InsertPersonasWeb.SegundoNombre + ' ' + Nombre[3]; } InsertPersonasWeb.TelefonoCel = persona.TelefonoCel; InsertPersonasWeb.UsrModifica = persona.Origen; InsertPersonasWeb.IdProducto = 48; InsertPersonasWeb.Correo = persona.Correo; InsertPersonasWeb.SubOrigen = persona.SubOrigen; InserteSolicStartConsult(InsertPersonasWeb, ref persona); persona.UltidSolicitud = persona.IdSolicitud; persona.IdTipoIdentificacion = InsertPersonasWeb.IdTipoIdentificacion; persona.Identificacion = InsertPersonasWeb.Identificacion; //CreddidEndConsul(InsertPersonasWeb, ref persona); persona.PrimerNombre = InsertPersonasWeb.PrimerNombre; persona.SegundoNombre = InsertPersonasWeb.SegundoNombre; persona.PrimerApellido = InsertPersonasWeb.PrimerApellido; persona.SegundoApellido = InsertPersonasWeb.SegundoApellido; persona.MontoMaximo = InsertPersonasWeb.MontoMaximo; persona.Status = InsertPersonasWeb.Status; persona.Respuesta = "ACKCRE00"; } else { throw new Exception("No se pudo ingresar la solicitud, el sujeto no existe en el padron"); } } else { throw new Exception("No se pudo ingresar la solicitud, el sujeto ya tiene una solicitud ingresado el dia de hoy"); } } catch (Exception ex) { dto_excepcion.STR_MENSAJE = ex.Message; dto_excepcion.STR_DETALLE = ex.StackTrace; TwoFunTwoMe_DataAccess.Utility.guardaExcepcion(dto_excepcion, GlobalClass.connectionString.Where(a => a.Key == infDto.STR_COD_PAIS).FirstOrDefault().Value); throw ex; } }