public override K ResolveRequest(T request, string platform, ApiServiceName serviceName) { //TODO herencia // BeginResolveRequest(request, ref platform, serviceName); IServiceProvider serviceImpl; if (platform.Equals("1")) { serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Kinacu, serviceName); } else if (platform.Equals("2")) { serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Utiba, serviceName); } else { throw new Exception("Problemas identificando el platform"); } //else //{ // if ((defaultPlatform ?? "0") == "2") // serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Kinacu, serviceName); // else // serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Utiba, serviceName); //} SecureProvider secureprovider = new SecureProvider(_securemode, serviceImpl, typeof(K), platform); return((K)secureprovider.PerformOperation(request)); }
//Inicializa el componente y lo ejecuta public K ResolveRequest(T request, ApiTargetPlatform targetPlatform, ApiServiceName serviceName) { //bandera para determinar si hubo error de la clase bool opok = false; try { if (ConfigurationManager.AppSettings["ProcessMigration"].ToLower() == "true") { if (request.AuthenticationData != null) { if (GetCustomDefaultPlatform(request.AuthenticationData.Username) == "1") { targetPlatform = ApiTargetPlatform.Kinacu; } } } if (HttpContext.Current.Session != null) { if (HttpContext.Current.Session["LOG_PREFIX"] == null) { HttpContext.Current.Session.Add("LOG_PREFIX", "[" + new Random(DateTime.Now.Millisecond * 9).Next(100000000, 999999999) + "] [" + serviceName.ToString() + "] "); } } IServiceProvider serviceImpl = ServiceProviderFactory.GetServiceProvider(targetPlatform, serviceName); //se pudo ejecutar hasta este punto el codigo opok = true; return((K)serviceImpl.PerformOperation(request)); } catch (Exception ex) { K resultError = Reflection.FactoryObject <K>(); resultError.ResponseCode = UtilResut.ResponseCode(ex); if (ex.Message.IndexOf("[API UNEXCEPTED ERROR]", StringComparison.Ordinal) < 0) { resultError.ResponseMessage = String.Concat("[API UNEXCEPTED ERROR]-[", ex.Message, "]"); } else { resultError.ResponseMessage = ex.Message; } //si es un error interno del la clase se debe if (!opok) { logger.Fatal(String.Concat(resultError.ResponseCode, "-", resultError.ResponseMessage, "-", ex.StackTrace), ex); } return(resultError); } }
public override K ResolveRequest(T request, ApiTargetPlatform targetPlatform, ApiServiceName serviceName) { //TODO herencia // BeginResolveRequest(request, ref targetPlatform, serviceName); IServiceProvider serviceImpl = ServiceProviderFactory.GetServiceProvider(targetPlatform, serviceName); SecureProvider secureprovider = new SecureProvider(_securemode, serviceImpl, typeof(K), targetPlatform); return((K)secureprovider.PerformOperation(request)); }
//Inicializa el componente y lo ejecuta public K ResolveRequest(T request, string platform, ApiServiceName serviceName) { //bandera para determinar si hubo error de la clase bool opok = false; try { //string defaultPlatform = ConfigurationManager.AppSettings["DefaultPlatform"]; if (ConfigurationManager.AppSettings["ProcessMigration"].ToLower() == "true") { string customDefault = GetCustomDefaultPlatform(request.AuthenticationData.Username); if (customDefault != "0") { platform = customDefault; } } platform = (platform.ToLower().Equals("kinacu") ? "1" : (platform.ToLower().Equals("utiba") ? "2" : platform.ToLower())); if (HttpContext.Current.Session != null) { if (HttpContext.Current.Session["LOG_PREFIX"] == null) { HttpContext.Current.Session.Add("LOG_PREFIX", "[" + new Random(DateTime.Now.Millisecond * 9).Next(100000000, 999999999) + "] [" + serviceName.ToString() + "] "); } } IServiceProvider serviceImpl; if (platform.Equals("1")) { serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Kinacu, serviceName); } else if (platform.Equals("2")) { serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Utiba, serviceName); } else { throw new Exception("Problemas identificando el platform"); } //else //{ // if ((defaultPlatform ?? "0") == "2") // serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Kinacu, serviceName); // else // serviceImpl = ServiceProviderFactory.GetServiceProvider(ApiTargetPlatform.Utiba, serviceName); //} //se pudo ejecutar hasta este punto el codigo opok = true; return((K)serviceImpl.PerformOperation(request)); } catch (Exception ex) { K resultError = Reflection.FactoryObject <K>(); resultError.ResponseCode = UtilResut.ResponseCode(ex); if (ex.Message.IndexOf("[API UNEXCEPTED ERROR]", StringComparison.Ordinal) < 0) { resultError.ResponseMessage = String.Concat("[API UNEXCEPTED ERROR]-[", ex.Message, "]"); } else { resultError.ResponseMessage = ex.Message; } if (!opok) { logger.Fatal(String.Concat(resultError.ResponseCode, "-", resultError.ResponseMessage, "-", ex.StackTrace), ex); } return(resultError); } }