private void btnDeserializeServiceConfigurationManager_Click(object sender, EventArgs e) { ServiceConfigurationCollection list = new ServiceConfigurationCollection(); ServiceConfiguration c = new ServiceConfiguration(); c.Audit = true; c.Description = "Servicio de prueba"; c.IsolationLevel = Fwk.Transaction.IsolationLevel.ReadCommitted; c.Name = "pepep"; c.TransactionalBehaviour = Fwk.Transaction.TransactionalBehaviour.Suppres; c.Request = "BuscarPaisesPorParametros.BuscarPaisesPorParametrosRequest , GestionarPaisesISVC"; c.Response = "BuscarPaisesPorParametros.BuscarPaisesPorParametrosResponse , GestionarPaisesISVC"; list.Add(c); c = new ServiceConfiguration(); c.Audit = true; c.Description = "ModificarLocalidadService "; c.IsolationLevel = Fwk.Transaction.IsolationLevel.ReadCommitted; c.Name = "ModificarLocalidadService"; c.TransactionalBehaviour = Fwk.Transaction.TransactionalBehaviour.Suppres; c.Request = "BuscarPaisesPorParametros.BuscarPaisesPorParametrosRequest , GestionarPaisesISVC"; c.Response = "BuscarPaisesPorParametros.BuscarPaisesPorParametrosResponse , GestionarPaisesISVC"; list.Add(c); txtEntidadSimple.Text = c.GetXml(); txtCollection.Text = SerializationFunctions.SerializeToXml(list); }
/// <summary> /// Recupera la configuración de todos los servicios de negocio. /// </summary> /// <param name="applicationId">Identificador de aplicacion a la que pertenece el servicio</param> /// <param name="cnnString">Nombre de cadena de conexion</param> /// <returns>Lista de configuraciones de servicios de negocio.</returns> internal static ServiceConfigurationCollection GetAllServices(string applicationId, string cnnString) { ServiceConfigurationCollection wServiceConfigurationCollection = new ServiceConfigurationCollection(); try { Database wBPConfig = DatabaseFactory.CreateDatabase(cnnString); System.Data.Common.DbCommand dbCommand = wBPConfig.GetStoredProcCommand("fwk_Service_s_All"); if (!string.IsNullOrEmpty(applicationId)) { wBPConfig.AddInParameter(dbCommand, "ApplicationId", System.Data.DbType.String, applicationId); } using (IDataReader dataReader = wBPConfig.ExecuteReader(dbCommand)) { while (dataReader.Read()) { ServiceConfiguration wServiceConfiguration = GetServiceConfigurationFromRow(dataReader); wServiceConfigurationCollection.Add(wServiceConfiguration); } } } catch (Exception ex) { TechnicalException te = new TechnicalException("Problemas con Fwk.ServiceManagement al realizar operaciones con la base de datos \r\n", ex); ExceptionHelper.SetTechnicalException <DatabaseServiceConfigurationManager>(te); te.ErrorId = "7200"; throw te; } return(wServiceConfigurationCollection); }
/// <summary> /// Crea un servicio en el origen de datos indicado por el proveedor /// El aaplication Id que se utiliza es el del nuevo servicio. Si el provedor estra configurado para usar uno determinado este se ignora /// de esta manera un proveedor puede insertar servicios para diferentes aplicaciones /// </summary> /// <param name="providerName">Nombre del proveedor de metadata de servicios.-</param> /// <param name="pServiceConfiguration"><see cref="ServiceConfiguration"/></param> public static void AddServiceConfiguration(string providerName, ServiceConfiguration pServiceConfiguration) { ServiceProviderElement provider = GetProvider(providerName); ServiceConfigurationCollection svcList = GetAllServices(provider); if (svcList.Exists(pServiceConfiguration.Name, pServiceConfiguration.ApplicationId)) { Exceptions.TechnicalException te = new Exceptions.TechnicalException(string.Format("El servicio {0} ya existe.\r\nProveedor de Metadata: {1}\r\nApplicationId: {2}\r\n", pServiceConfiguration.Name, provider.Name, provider.ApplicationId)); te.ErrorId = "7002"; Fwk.Exceptions.ExceptionHelper.SetTechnicalException <ServiceMetadata>(te); throw te; } svcList.Add(pServiceConfiguration); if (provider.ProviderType == ServiceProviderType.xml) { XmlServiceConfigurationManager.AddServiceConfiguration(pServiceConfiguration, provider.SourceInfo, svcList); } else { DatabaseServiceConfigurationManager.AddServiceConfiguration(pServiceConfiguration, pServiceConfiguration.ApplicationId, provider.SourceInfo); } }
protected void Filter() { if (init) { return; } ServiceConfiguration wServiceConfiguration = new ServiceConfiguration(); wServiceConfiguration.Name = txtXmlFilePath.Text; if (cmbFilterIsolationLevel.SelectedIndex != 0) { wServiceConfiguration.IsolationLevel = (Fwk.Transaction.IsolationLevel)Enum.Parse(typeof(Fwk.Transaction.IsolationLevel), cmbFilterIsolationLevel.Text); } if (cmbFilterTransactionalBehaviour.SelectedIndex != 0) { wServiceConfiguration.TransactionalBehaviour = (Fwk.Transaction.TransactionalBehaviour)Enum.Parse(typeof(Fwk.Transaction.TransactionalBehaviour), cmbFilterTransactionalBehaviour.Text); } if (cmbApplication.SelectedIndex != 0) { wServiceConfiguration.ApplicationId = cmbApplication.Text; } if (_Services == null) { return; } bool wNotInclude_IsolationLevel = (cmbFilterIsolationLevel.SelectedIndex == 0); bool wNotInclude_TransactionalBehaviour = (cmbFilterTransactionalBehaviour.SelectedIndex == 0); bool wNotInclude_ApplicationId = (cmbApplication.SelectedIndex == _Applications.Count - 1); Common.TipoBusquedaEnum tb = Common.TipoBusquedaEnum.Contains; try { tb = (Common.TipoBusquedaEnum)Enum.Parse(typeof(Common.TipoBusquedaEnum), cmbSearchType.Text); } catch (Exception) { } IEnumerable <ServiceConfiguration> list = from s in _Services where (wNotInclude_TransactionalBehaviour || wServiceConfiguration.TransactionalBehaviour == s.TransactionalBehaviour) && (wNotInclude_IsolationLevel || wServiceConfiguration.IsolationLevel == s.IsolationLevel) && (wNotInclude_ApplicationId || wServiceConfiguration.ApplicationId == s.ApplicationId) && ( (s.Name.StartsWith(wServiceConfiguration.Name, StringComparison.OrdinalIgnoreCase) && Common.TipoBusquedaEnum.Start == tb) || (s.Name.EndsWith(wServiceConfiguration.Name, StringComparison.OrdinalIgnoreCase) && Common.TipoBusquedaEnum.Finalize == tb) || (s.Name.ToLower().Contains(wServiceConfiguration.Name.ToLower()) && Common.TipoBusquedaEnum.Contains == tb) || (s.Name == wServiceConfiguration.Name && Common.TipoBusquedaEnum.Equal == tb) || String.IsNullOrEmpty(wServiceConfiguration.Name)) select s; _SelecdedServices = new ServiceConfigurationCollection(); foreach (ServiceConfiguration s in list) { _SelecdedServices.Add(s); } serviceConfigurationCollectionBindingSource.DataSource = _SelecdedServices; _CurrentServiceConfiguration = grdServices.GetSelectedEntity <ServiceConfiguration>(); }
/// <summary> /// Recupera la configuración de todos los servicios de negocio. /// </summary> /// <param name="applicationId">Identificador de aplicacion a la que pertenece el servicio</param> /// <param name="cnnString">Nombre de cadena de conexion</param> /// <returns>Lista de configuraciones de servicios de negocio.</returns> internal static ServiceConfigurationCollection GetAllServices(string applicationId, string cnnString) { ServiceConfigurationCollection wServiceConfigurationCollection = new ServiceConfigurationCollection(); try { Database wBPConfig = DatabaseFactory.CreateDatabase(cnnString); System.Data.Common.DbCommand dbCommand = wBPConfig.GetStoredProcCommand("fwk_Service_s_All"); if (!string.IsNullOrEmpty(applicationId)) wBPConfig.AddInParameter(dbCommand, "ApplicationId", System.Data.DbType.String, applicationId); using (IDataReader dataReader = wBPConfig.ExecuteReader(dbCommand)) { while (dataReader.Read()) { ServiceConfiguration wServiceConfiguration = GetServiceConfigurationFromRow(dataReader); wServiceConfigurationCollection.Add(wServiceConfiguration); } } } catch (Exception ex) { TechnicalException te = new TechnicalException("Problemas con Fwk.ServiceManagement al realizar operaciones con la base de datos \r\n", ex); ExceptionHelper.SetTechnicalException<DatabaseServiceConfigurationManager>(te); te.ErrorId = "7200"; throw te; } return wServiceConfigurationCollection; }
protected void Filter() { if (init) return; ServiceConfiguration wServiceConfiguration = new ServiceConfiguration(); wServiceConfiguration.Name = txtXmlFilePath.Text; if (cmbFilterIsolationLevel.SelectedIndex != 0) wServiceConfiguration.IsolationLevel = (Fwk.Transaction.IsolationLevel)Enum.Parse(typeof(Fwk.Transaction.IsolationLevel), cmbFilterIsolationLevel.Text); if (cmbFilterTransactionalBehaviour.SelectedIndex != 0) wServiceConfiguration.TransactionalBehaviour = (Fwk.Transaction.TransactionalBehaviour)Enum.Parse(typeof(Fwk.Transaction.TransactionalBehaviour), cmbFilterTransactionalBehaviour.Text); if (cmbApplication.SelectedIndex != 0) wServiceConfiguration.ApplicationId = cmbApplication.Text; if (_Services == null) return; bool wNotInclude_IsolationLevel = (cmbFilterIsolationLevel.SelectedIndex == 0); bool wNotInclude_TransactionalBehaviour = (cmbFilterTransactionalBehaviour.SelectedIndex == 0); bool wNotInclude_ApplicationId = (cmbApplication.SelectedIndex == _Applications.Count - 1); Common.TipoBusquedaEnum tb = Common.TipoBusquedaEnum.Contains; try { tb = (Common.TipoBusquedaEnum)Enum.Parse(typeof(Common.TipoBusquedaEnum), cmbSearchType.Text); } catch (Exception) { } IEnumerable<ServiceConfiguration> list = from s in _Services where (wNotInclude_TransactionalBehaviour || wServiceConfiguration.TransactionalBehaviour == s.TransactionalBehaviour) && (wNotInclude_IsolationLevel || wServiceConfiguration.IsolationLevel == s.IsolationLevel) && (wNotInclude_ApplicationId || wServiceConfiguration.ApplicationId == s.ApplicationId) && ( (s.Name.StartsWith(wServiceConfiguration.Name, StringComparison.OrdinalIgnoreCase) && Common.TipoBusquedaEnum.Start == tb) || (s.Name.EndsWith(wServiceConfiguration.Name, StringComparison.OrdinalIgnoreCase) && Common.TipoBusquedaEnum.Finalize == tb) || (s.Name.ToLower().Contains(wServiceConfiguration.Name.ToLower()) && Common.TipoBusquedaEnum.Contains == tb) || (s.Name == wServiceConfiguration.Name && Common.TipoBusquedaEnum.Equal == tb) || String.IsNullOrEmpty(wServiceConfiguration.Name)) select s; _SelecdedServices = new ServiceConfigurationCollection(); foreach (ServiceConfiguration s in list) { _SelecdedServices.Add(s); } serviceConfigurationCollectionBindingSource.DataSource = _SelecdedServices; _CurrentServiceConfiguration = grdServices.GetSelectedEntity<ServiceConfiguration>(); }