internal static void Dispatcher_Create(fwk_ServiceDispatcher disp) { using(Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext ()) { dc.fwk_ServiceDispatchers.InsertOnSubmit(disp); dc.SubmitChanges(); } }
/// <summary> /// Actualiza fwk_Param /// </summary> /// <param name="paramBE"></param> /// <param name="userUpdateId"></param> /// <param name="cnnStringName"></param> public static void Update(ParamBE paramBE, Guid?userUpdateId, string cnnStringName) { using (Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[cnnStringName].ConnectionString)) { Fwk.ConfigData.fwk_Param param = dc.fwk_Params.Where(p => p.Id.Equals(paramBE.Id)).FirstOrDefault(); if (param != null) { param.Enabled = true; param.Name = paramBE.Name; param.Culture = paramBE.Culture; param.Description = paramBE.Description; //param.ParamId = paramBE.ParamId; //param.ParentId = paramBE.ParentId; dc.SubmitChanges(); } } }
/// <summary> /// /// </summary> /// <param name="paramBE"></param> /// <param name="userId"></param> /// <param name="cnnStringName"></param> public static void Create(ParamBE paramBE, Guid?userId, string cnnStringName) { using (Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[cnnStringName].ConnectionString)) { Fwk.ConfigData.fwk_Param param = new ConfigData.fwk_Param(); param.Culture = paramBE.Culture; param.Description = paramBE.Description; param.Enabled = true; param.Name = paramBE.Name; param.ParamId = paramBE.ParamId; param.ParentId = paramBE.ParentId; dc.fwk_Params.InsertOnSubmit(param); dc.SubmitChanges(); paramBE.Id = param.Id; } }
/// <summary> /// Permite eliminar por /// solo parentId /// solo paramId /// por ambos /// no permite que ambos sean Null /// </summary> /// <param name="paramId"></param> /// <param name="parentId"></param> /// <param name="cnnStringName"></param> public static void Delete(int?paramId, int?parentId, string cnnStringName) { //no permite que ambos sean Null if (paramId.HasValue == false || parentId.HasValue == false) { throw new Fwk.Exceptions.TechnicalException("Debe proporcinar almeno uno de los dos parametros"); } using (Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[cnnStringName].ConnectionString)) { var paramsList = dc.fwk_Params.Where(p => (paramId.HasValue == false || p.ParamId.Equals(paramId.Value)) && (parentId.HasValue == false || p.ParentId.Equals(parentId.Value))); foreach (fwk_Param p in paramsList) { dc.fwk_Params.DeleteOnSubmit(p); } dc.SubmitChanges(); } }
internal static void Dispatcher_Update(fwk_ServiceDispatcher disp) { using (Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext()) { var disp_db = dc.fwk_ServiceDispatchers.Where(p => p.InstanseName.Equals(disp.InstanseId)).FirstOrDefault(); disp_db.AuditMode = disp.AuditMode; disp_db.CompanyName = disp.CompanyName; disp_db.HostIp = disp.HostIp; disp_db.HostName = disp.HostName; disp_db.InstanseName = disp.InstanseName; disp_db.Logo = disp.Logo; disp_db.Port = disp.Port; disp_db.Url_URI = disp.Url_URI; dc.SubmitChanges(); } }
/// <summary> /// Realiza cambios a una propiedad.- /// </summary> /// <param name="provider">Proveedor de configuracion</param> /// <param name="groupName">Nombre del grupo donde se encuentra la propiedad</param> /// <param name="property">Propiedad actualizada. Este objeto puede contener todos sus valores modifcados</param> /// <param name="propertyName">Nombre de la propiedad que se mofdifico.- Este valor es el original sin modificacion</param> internal static void ChangeProperty(ConfigProviderElement provider, string groupName, Key property, string propertyName) { try { using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider))) { var prop = dc.fwk_ConfigManagers.Where(config => config.ConfigurationFileName.ToLower().Equals(provider.BaseConfigFile.ToLower()) && config.group.ToLower().Equals(groupName.ToLower()) && config.key.ToLower().Equals(propertyName.ToLower()) ).FirstOrDefault<fwk_ConfigManager>(); prop.value = property.Value.Text; prop.encrypted = property.Encrypted; prop.key = property.Name; dc.SubmitChanges(); } } catch (Exception ex) { TechnicalException te = new TechnicalException("Problemas con Fwk.Configuration al realizar operaciones con la base de datos \r\n", ex); ExceptionHelper.SetTechnicalException<DatabaseConfigManager>(te); te.ErrorId = "8200"; throw te; } }
/// <summary> /// Cambia el nombre de un grupo.- /// </summary> /// <param name="provider">Proveedor de configuracion</param> /// <param name="groupName">Nombre del grupo</param> /// <param name="newGroupName">Nuevo nombre del grupo</param> internal static void ChangeGroupName(ConfigProviderElement provider, string groupName, string newGroupName) { //ConfigurationFile wConfigurationFile = GetConfig(provider); try { using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider))) { var configs = dc.fwk_ConfigManagers.Where(p => p.group.Equals(groupName) && p.ConfigurationFileName.Equals(provider.BaseConfigFile)); foreach (fwk_ConfigManager confg in configs) { confg.group = newGroupName; } dc.SubmitChanges(); } } catch (Exception ex) { TechnicalException te = new TechnicalException("Problemas con Fwk.Configuration al realizar operaciones con la base de datos \r\n", ex); ExceptionHelper.SetTechnicalException<DatabaseConfigManager>(te); te.ErrorId = "8200"; throw te; } }
/// <summary> /// /// </summary> /// <param name="provider">Proveedor de configuracion</param> /// <param name="group">Grupo</param> internal static void AddGroup(ConfigProviderElement provider, Group group) { ConfigurationFile wConfigurationFile = GetConfig(provider); wConfigurationFile.Groups.Add(group); fwk_ConfigManager confg; try { using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider))) { foreach (Key k in group.Keys) { confg = new fwk_ConfigManager(); confg.ConfigurationFileName = provider.BaseConfigFile; confg.key = k.Name; confg.encrypted = k.Encrypted; confg.value = k.Value.Text; confg.group = group.Name; dc.fwk_ConfigManagers.InsertOnSubmit(confg); } dc.SubmitChanges(); } } catch (Exception ex) { TechnicalException te = new TechnicalException("Problemas con Fwk.Configuration al realizar operaciones con la base de datos \r\n", ex); ExceptionHelper.SetTechnicalException<DatabaseConfigManager>(te); te.ErrorId = "8200"; throw te; } }
/// <summary> ///Si grupo no existe en un provider p/bd es por que seguramente se agrego el grupo por la aplicacion del fwk y ahun este grupo se encuentra vasio. ///y no es posible agregar grupos vasios ya que los grupos tienen que tener al menos una propiedad para ser agregados a la tabla /// </summary> /// <param name="provider">Proveedor de configuracion</param> /// <param name="key"></param> /// <param name="groupName">Nombre del gruop que contiene las propiedades</param> internal static void AddProperty(ConfigProviderElement provider, Key key, string groupName) { System.Text.StringBuilder sqlCommand = new StringBuilder(); ConfigurationFile wConfigurationFile = GetConfig(provider); Group wGroup = wConfigurationFile.Groups.GetFirstByName(groupName); //Si grupo no existe en un provider p/bd es por que seguramente se agrego el grupo por la aplicacion del fwk y ahun este grupo se encuentra vasio. //y no es posible agregar grupos vasios ya que los grupos tienen que tener al menos una propiedad para ser agregados a la tabla if (wGroup == null) { wGroup = new Group(); wGroup.Keys = new Keys(); wGroup.Name=groupName; AddGroup(provider, wGroup); } wGroup.Keys.Add(key); fwk_ConfigManager confg; try { using (FwkDatacontext dc = new FwkDatacontext(GetCnnString(provider))) { confg = new fwk_ConfigManager(); confg.ConfigurationFileName = provider.BaseConfigFile; confg.key = key.Name; confg.encrypted = key.Encrypted; confg.value = key.Value.Text; confg.group = groupName; dc.fwk_ConfigManagers.InsertOnSubmit(confg); dc.SubmitChanges(); } } catch (Exception ex) { TechnicalException te = new TechnicalException("Problemas con Fwk.Configuration al realizar operaciones con la base de datos \r\n", ex); ExceptionHelper.SetTechnicalException<DatabaseConfigManager>(te); te.ErrorId = "8200"; throw te; } }
/// <summary> /// Permite eliminar por /// solo parentId /// solo paramId /// por ambos /// no permite que ambos sean Null /// </summary> /// <param name="paramId"></param> /// <param name="parentId"></param> /// <param name="cnnStringName"></param> public static void Delete(int? paramId, int? parentId, string cnnStringName) { //no permite que ambos sean Null if (paramId.HasValue == false || parentId.HasValue == false) throw new Fwk.Exceptions.TechnicalException("Debe proporcinar almeno uno de los dos parametros"); using (Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[cnnStringName].ConnectionString)) { var paramsList = dc.fwk_Params.Where(p => (paramId.HasValue == false || p.ParamId.Equals(paramId.Value)) && (parentId.HasValue == false || p.ParentId.Equals(parentId.Value))); foreach (fwk_Param p in paramsList) { dc.fwk_Params.DeleteOnSubmit(p); } dc.SubmitChanges(); } }
/// <summary> /// Actualiza fwk_Param /// </summary> /// <param name="paramBE"></param> /// <param name="userUpdateId"></param> /// <param name="cnnStringName"></param> public static void Update(ParamBE paramBE, Guid? userUpdateId, string cnnStringName) { using (Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[cnnStringName].ConnectionString)) { Fwk.ConfigData.fwk_Param param = dc.fwk_Params.Where(p => p.Id.Equals(paramBE.Id)).FirstOrDefault(); if (param != null) { param.Enabled = true; param.Name = paramBE.Name; param.Culture = paramBE.Culture; param.Description = paramBE.Description; //param.ParamId = paramBE.ParamId; //param.ParentId = paramBE.ParentId; dc.SubmitChanges(); } } }
/// <summary> /// /// </summary> /// <param name="paramBE"></param> /// <param name="userId"></param> /// <param name="cnnStringName"></param> public static void Create(ParamBE paramBE, Guid? userId, string cnnStringName) { using (Fwk.ConfigData.FwkDatacontext dc = new Fwk.ConfigData.FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[cnnStringName].ConnectionString)) { Fwk.ConfigData.fwk_Param param = new ConfigData.fwk_Param(); param.Culture = paramBE.Culture; param.Description = paramBE.Description; param.Enabled = true; param.Name = paramBE.Name; param.ParamId = paramBE.ParamId; param.ParentId = paramBE.ParentId; dc.fwk_Params.InsertOnSubmit(param); dc.SubmitChanges(); paramBE.Id = param.Id; } }
/// <summary> /// Almacena informacion de auditoria.- /// Llama a StaticLogger y carga el log auditando los datos del Request de entrada /// </summary> /// <param name="pRequest">Request</param> /// <param name="wResult">Response</param> internal static void LogSuccessfulExecution(IServiceContract pRequest, IServiceContract wResult) { fwk_ServiceAudit audit = new fwk_ServiceAudit(); audit.LogTime = System.DateTime.Now; audit.ServiceName = pRequest.ServiceName; audit.Send_Time = pRequest.ContextInformation.HostTime; if(Fwk.HelperFunctions.DateFunctions.IsSqlDateTimeOutOverflow(wResult.ContextInformation.HostTime)==false) audit.Resived_Time = wResult.ContextInformation.HostTime; else { audit.Resived_Time = wResult.ContextInformation.HostTime = DateTime.Now; } audit.Send_UserId = pRequest.ContextInformation.UserId; audit.Send_Machine = pRequest.ContextInformation.HostName; audit.Dispatcher_Instance_Name = FacadeHelper.ServiceDispatcherConfig.InstanseName; audit.ApplicationId = pRequest.ContextInformation.AppId; audit.Requets = TypeFunctions.ConvertStringToByteArray(pRequest.GetXml()); audit.Response = TypeFunctions.ConvertStringToByteArray(wResult.GetXml()); try { using (FwkDatacontext context = new FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[ConfigurationsHelper.ServiceDispatcherConnection].ConnectionString)) { context.fwk_ServiceAudits.InsertOnSubmit(audit); context.SubmitChanges(); } } catch(Exception) { LogSuccessfulExecution_Old(pRequest, wResult); } }