public List <ApplicationPMX> GetApplicationList(string strValue) { var applicationDa = new ApplicationDA(_configuration); var listApplication = applicationDa.GetApplicationList(strValue); applicationDa.Dispose(); return(listApplication); }
public object [] GetApplicationAdministration(ApplicationPMX application) { var applicationDa = new ApplicationDA(_configuration); var applicationAdmin = applicationDa.GetApplicationAdministration(application); applicationDa.Dispose(); return(applicationAdmin); }
public ApplicationPMX GetApplication(int applicationId) { var applicationDa = new ApplicationDA(_configuration); var application = applicationDa.FindApplication(applicationId); applicationDa.Dispose(); return(application); }
public Response InsertLogEvent(Log log) { var response = new Response { Result = false, Message = "Sin inicializar" }; try { if (log.Application == null) { response.Message = "Debe de inicializar el objeto Application."; return(response); } var applicationDA = new ApplicationDA(_configuration); var applicationDbList = applicationDA.GetApplicationList(); applicationDA.Dispose(); var appFinded = applicationDbList.Find(app => app.ApplicationName == log.Application.ApplicationName); if (appFinded == null) { response.Message = "La aplicación no existe en SeguridadApp."; return(response); } log.Application = appFinded; if (log.EventUser == null) { response.Message = "Debe de inicializar el objeto EventUser"; return(response); } string[] usuarioEncontrar = log.EventUser.UserId.Split(' '); var userLogic = new UserLogic(_configuration); User userFinded = userLogic.FindUser(usuarioEncontrar[0]); userLogic.Dispose(); if (userFinded == null) { response.Message = "La cuenta de usuario no existe en SeguridadApp."; return(response); } log.EventUser = userFinded; var logDa = new LogDA(_configuration); logDa.AddLogEvent(log); logDa.Dispose(); response.Message = "Se registró correctamente el evento en la bitácora"; response.Result = true; return(response); } catch (Exception err) { response.Message = string.Format("Ocurrió un error al intentar realizar el registro en bitácora. {0}", err.Message); return(response); } }
public List <ApplicationPMX> GetApplicationList() { List <ApplicationPMX> appList; var applicationDa = new ApplicationDA(_configuration); try { appList = applicationDa.GetApplicationList(); } catch (Exception) { throw; } applicationDa.Dispose(); return(appList); }
public List <ApplicationPMX> SearchApplications(string strValueApplication, ApplicationPMX application, User loggedUser) { var daApplication = new ApplicationDA(_configuration); var lstApplication = new List <ApplicationPMX>(); var ds = daApplication.SearchApplication(strValueApplication, application, loggedUser); if (ds.Tables[0].Rows.Count > 0) { lstApplication.AddRange(from DataRow item in ds.Tables[0].Rows select new ApplicationPMX { ApplicationId = Convert.ToInt32(item[0]), ApplicationName = item[1].ToString(), ApplicationDescription = item[2].ToString(), ValidityStartDate = string.IsNullOrEmpty(item[3].ToString()) ? string.Empty : string.Format("{0:dd/MM/yyyy}", item[3]), DeclineDate = string.IsNullOrEmpty(item[4].ToString()) ? string.Empty : string.Format("{0:dd/MM/yyyy}", item[4]), Observations = item[5].ToString() }); } daApplication.Dispose(); return(lstApplication); }
public Response DelApplicationAdministration(ApplicationPMX application, User user) { var response = new Response { Message = "Sin inicializar.", Result = false }; var applicationDa = new ApplicationDA(_configuration); try { if (application == null) { response.Message = "El objeto application no puede ser nulo"; return(response); } if (user == null) { response.Message = "El objeto user no puede ser nulo"; return(response); } var log = new Log { Application = new ApplicationPMX { ApplicationName = _applicationName }, EventUser = user, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Removió la cuenta {0} de la configuración que permite ejercer sus permisos de SeguridadApp en la aplicación {1}.", user.UserId, application.ApplicationName) }; var loglogic = new LogLogic(_configuration); loglogic.InsertLogEvent(log); loglogic.Dispose(); applicationDa.DelApplicationAdministration(application, user); response.Message = string.Format( "Se ha eliminado la cuenta del usuario {0} que permite ejercer sus permisos de SeguridadApp en la aplicación {1}.", user.UserId, application.ApplicationName); response.Result = true; } catch (Exception err) { var log = new Log { EventUser = user, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Se intentó eliminar la cuenta del usuario {0} para la aplicacion {1} , pero ocurrio un error. {2}", user.UserId, application.ApplicationName, err.Message), Application = new ApplicationPMX { ApplicationName = _applicationName } }; var loglogic = new LogLogic(_configuration); var responseLog = loglogic.InsertLogEvent(log); loglogic.Dispose(); response.Message = string.Format("Ocurrio un error al intentar eliminar la cuenta del usuario {0} para la aplicacion. {1} {2}", user.UserId, responseLog.Message, DateTime.Now.ToString(CultureInfo.InvariantCulture)); response.Result = false; } applicationDa.Dispose(); return(response); }
/// <summary> /// Adds application object to application Database /// </summary> /// <param name="application">Values required ApplicationName,ApplicationDescription, FunctionalUserId, TecnicalUserId,ValidityStartDate</param> /// <param name="registerUser">Values required UserId</param> /// <returns></returns> public Response AddApplication(ApplicationPMX application, User registerUser, object [] args, List <string> cuentasUsuarios) { var response = new Response { Message = "Sin inicializar.", Result = false }; var applicartionDa = new ApplicationDA(_configuration); try { if (application == null) { response.Message = "El objeto application no puede ser nulo"; return(response); } if (registerUser == null) { response.Message = "El objeto registerUser no puede ser nulo"; return(response); } if (string.IsNullOrEmpty(application.ApplicationName)) { response.Message = "Debe de proporcionar un nombre a la aplicación."; return(response); } if (string.IsNullOrEmpty(application.ApplicationDescription) || application.ApplicationDescription.Length < 1) { response.Message = "El nombre de la aplicación no puede estar vacía."; return(response); } var applications = GetApplicationList(); var appFinded = applications.Find(app => app.ApplicationName == application.ApplicationName); if (appFinded != null) { response.Message = "El nombre de la aplicación ya existe registrada en SeguridadApp"; return(response); } //Application paswordHashed if (string.IsNullOrEmpty(application.ApplicationPassword) || application.ApplicationPassword.Length < 8) { response.Message = "Debe de especificar un password para la aplicación. Longitud mínima 8 caracteres."; return(response); } /*Mantenimiento pendiente de criptografia de passwords de applicacion*/ //We use EnterpriseLibrary 5.0 to generate a hashed password and store in db. //application.ApplicationPassword = Cryptographer.CreateHash("SecurityAlgorithim", application.ApplicationPassword); /*Fin Mantenimieto*/ if (Convert.ToDateTime(application.ValidityStartDate).Year != DateTime.Now.Year) { response.Message = "El año de vigencia de la aplicación no puede ser distinto al año actual"; return(response); } if (string.IsNullOrEmpty(application.Observations)) { application.Observations = " "; } if (Convert.ToDateTime(application.ValidityStartDate) > Convert.ToDateTime(application.DeclineDate)) { response.Message = "La fecha Vigencia final no puede ser menor a la fecha de inicio"; return(response); } //Tecnical user finded if (string.IsNullOrEmpty(application.TecnicalUserId)) { response.Message = "La cuenta del usuario no ha sido registrada previamente."; return(response); } var userLogic = new UserLogic(_configuration); var userTecnicalFinded = userLogic.FindUser(application.TecnicalUserId); userLogic.Dispose(); if (userTecnicalFinded == null) { response.Message = "La cuenta de usuario especificado no ha sido registrado previamente."; return(response); } //Functional user finded if (string.IsNullOrEmpty(application.FunctionalUserId)) { response.Message = "Es necesario especificar una cuenta de usuario que exista previamente registrada."; return(response); } var userFunctionalFinded = userLogic.FindUser(application.FunctionalUserId); userLogic.Dispose(); if (userFunctionalFinded == null) { response.Message = "La cuenta del usuario especificado no ha sido registrado previamente."; return(response); } //Log user var userFinded = userLogic.FindUser(registerUser.UserId); if (userFinded == null) { response.Message = "la cuenta de usuario para registrar la aplicación no es válido."; return(response); } application.CreationUserId = registerUser.UserId; application.ModificationUserId = registerUser.UserId; applicartionDa.AddApplication(application, registerUser); var log = new Log { Application = new ApplicationPMX { ApplicationName = _applicationName }, EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Agregó la aplicación {0}-{1} en SeguridadApp. Descripción: {2} Vigente: {3} Vigente hasta: {4} responsable funcional {5} , Observaciones {6} ", application.ApplicationId, application.ApplicationName, application.ApplicationDescription, application.ValidityStartDate, application.DeclineDate, application.FunctionalUserId, application.Observations) }; var loglogic = new LogLogic(_configuration); loglogic.InsertLogEvent(log); loglogic.Dispose(); foreach (object o in args) { applicartionDa.AddApplicationAdministration(application, userFunctionalFinded, true, true, o.ToString()); } if (cuentasUsuarios != null) { foreach (string usuario in cuentasUsuarios) { string[] splitUsuario = usuario.Split(new Char[] { ' ' }); var logCuentasUsuarios = new Log { Application = new ApplicationPMX { ApplicationName = _applicationName }, EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Agregó la cuenta " + splitUsuario[0] + " para ejercer sus permisos de SeguridadApp en la aplicación " + application.ApplicationId + "-" + application.ApplicationName) }; loglogic.InsertLogEvent(logCuentasUsuarios); } } loglogic.Dispose(); response.Message = string.Format("Se agregó correctamente la nueva aplicación al esquema de seguridad. "); response.Result = true; } catch (Exception err) { var log = new Log { EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Se intentó agregar la aplicación {0} en SeguridadApp, pero ocurrio un error. {1}", application.ApplicationName, err.Message), Application = new ApplicationPMX { ApplicationName = _applicationName } }; var loglogic = new LogLogic(_configuration); var responseLog = loglogic.InsertLogEvent(log); loglogic.Dispose(); response.Message = string.Format("Ocurrio un error al intentar agregar una nueva aplicación. {0} {1}", responseLog.Message, DateTime.Now.ToString(CultureInfo.InvariantCulture)); response.Result = false; } applicartionDa.Dispose(); return(response); }
public Response DelApplication(ApplicationPMX application, User registerUser) { var response = new Response { Message = "Sin inicializar.", Result = false }; var applicationDa = new ApplicationDA(_configuration); try { if (application == null) { response.Message = "El objeto application no puede ser nulo"; return(response); } if (registerUser == null) { response.Message = "El objeto registerUser no puede ser nulo"; return(response); } if (string.IsNullOrEmpty(application.DeclineDate)) { response.Message = "La fecha fin de vigencia no puede estar vacía."; return(response); } //Log user var userLogic = new UserLogic(_configuration); var userFinded = userLogic.FindUser(registerUser.UserId); userLogic.Dispose(); if (userFinded == null) { response.Message = "Usuario no válido para declinar la aplicación."; return(response); } application.CreationUserId = registerUser.UserId; application.ModificationUserId = registerUser.UserId; var log = new Log { Application = new ApplicationPMX { ApplicationName = _applicationName }, EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Declinó la aplicacion {0}-{1} de SeguridadApp. Fecha declinación {2} ", application.ApplicationId, application.ApplicationName, application.DeclineDate) }; var loglogic = new LogLogic(_configuration); loglogic.InsertLogEvent(log); loglogic.Dispose(); applicationDa.DelApplication(application, registerUser); response.Message = string.Format("Se declino correctamente la aplicación de SeguridadApp. "); response.Result = true; } catch (Exception err) { var log = new Log { EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Se intentó declinar la aplicacion {0} en SeguridadApp, pero ocurrio un error. {1}", application.ApplicationName, err.Message), Application = new ApplicationPMX { ApplicationName = _applicationName } }; var loglogic = new LogLogic(_configuration); var responseLog = loglogic.InsertLogEvent(log); loglogic.Dispose(); response.Message = string.Format("Ocurrio un error al intentar declinar una aplicacion. {0} {1}", responseLog.Message, DateTime.Now.ToString(CultureInfo.InvariantCulture)); response.Result = false; } applicationDa.Dispose(); return(response); }
public Response UpdApplication(ApplicationPMX application, string strpwd, User registerUser, bool canAdminAppRolesAndOperations, bool canAdminUsers, object[] args) { var response = new Response { Message = "Sin inicializar.", Result = false }; var applicationDa = new ApplicationDA(_configuration); try { if (application == null) { response.Message = "El objeto application no puede ser nulo"; return(response); } if (registerUser == null) { response.Message = "El objeto registerUser no puede ser nulo"; return(response); } if (string.IsNullOrEmpty(application.ApplicationName)) { response.Message = "Debe de proporcionar un nombre a la aplicación."; return(response); } if (string.IsNullOrEmpty(application.ApplicationDescription) || application.ApplicationDescription.Length < 1) { response.Message = "El nombre de la aplicación no puede estar vacía."; return(response); } //Application paswordHashed if (string.IsNullOrEmpty(application.ApplicationPassword) || application.ApplicationPassword.Length < 8) { response.Message = "Debe de especificar un password para la aplicación. Longitud mínima 8 caracteres."; return(response); } /*Mantenimiento pendiente de criptografia de passwords de applicacion*/ //We use EnterpriseLibrary 5.0 to generate a hashed password and store in db. //if (!strpwd.Trim().Equals(application.ApplicationPassword.Trim())) //{ // application.ApplicationPassword = Cryptographer.CreateHash("SecurityAlgorithim", application.ApplicationPassword); //} if (string.IsNullOrEmpty(application.Observations)) { application.Observations = " "; } //Tecnical user finded if (string.IsNullOrEmpty(application.TecnicalUserId)) { response.Message = "Es necesario especificar un usuario técnico registrado previamente."; return(response); } var userLogic = new UserLogic(_configuration); var userTecnicalFinded = userLogic.FindUser(application.TecnicalUserId); userLogic.Dispose(); if (userTecnicalFinded == null) { response.Message = "El usuario técnico especificado no ha sido registrado previamente."; return(response); } //Log user var userFinded = userLogic.FindUser(registerUser.UserId); if (userFinded == null) { response.Message = "El usuario para registrar la aplicación no es válido."; return(response); } application.CreationUserId = registerUser.UserId; application.ModificationUserId = registerUser.UserId; foreach (object o in args) { applicationDa.UpdApplication(application, registerUser); applicationDa.UpdApplicationAdministration(application, canAdminAppRolesAndOperations, canAdminUsers, o.ToString()); response.Message = string.Format("Se Actualizó correctamente la nueva aplicación en SeguridadApp. "); response.Result = true; } var log = new Log { Application = new ApplicationPMX { ApplicationName = _applicationName }, EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Actualizó la aplicación {0}-{1} en SeguridadApp. Descripción: {2} Vigente {3} Vigente hasta {4} responsable funcional {5} , Observaciones {6} ", application.ApplicationId, application.ApplicationName, application.ApplicationDescription, application.ValidityStartDate, application.DeclineDate, application.FunctionalUserId, application.Observations) }; var loglogic = new LogLogic(_configuration); loglogic.InsertLogEvent(log); loglogic.Dispose(); } catch (Exception err) { var log = new Log { EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Se intentó agregar la aplicacion {0} a SeguridadApp, pero ocurrio un error. {1}", application.ApplicationName, err.Message), Application = new ApplicationPMX { ApplicationName = _applicationName } }; var loglogic = new LogLogic(_configuration); var responseLog = loglogic.InsertLogEvent(log); loglogic.Dispose(); response.Message = string.Format("Ocurrió un error al intentar agregar una nueva aplicación. {0} {1}", responseLog.Message, DateTime.Now.ToString(CultureInfo.InvariantCulture)); response.Result = false; } applicationDa.Dispose(); return(response); }