/// <summary> /// Método para actualizar el password de un Usuario en la base de datos. /// </summary> /// <param name="infoUsuario"></param> /// <returns></returns> public MensajesUsuarios ActualizacionPasswordUsuario(Usuarios infoUsuario) { MensajesUsuarios msjUsuarios = new MensajesUsuarios(); try { string pwdUsuario = ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario); NpgsqlTransaction tran = conn_BD.BeginTransaction(); using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set password_usuario = @pu where id_usuario = @iu", conn_BD)) { cmd.Parameters.Add("pu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = pwdUsuario.Trim(); cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdUsuario; cmd.ExecuteNonQuery(); } string query = string.Format("ALTER USER {0} with password '{1}';", infoUsuario.NickUsuario.Trim(), pwdUsuario.Trim()); using (var cmd = new NpgsqlCommand(query, conn_BD)) { cmd.ExecuteNonQuery(); } tran.Commit(); conn_BD.Close(); msjUsuarios.OperacionExitosa = true; } catch (Exception e) { conn_BD.Close(); msjUsuarios.OperacionExitosa = false; msjUsuarios.MensajeError = e.Message; } return(msjUsuarios); }
public MensajesUsuarios RecuperarPassword([FromBody] string infoCorreo) { MensajesUsuarios msjUsuarios = new MensajesUsuarios(); Usuarios datosUsuario = new Usuarios(); try { if (infoCorreo != null) { ConsultasUsuarios objConsultasUsuariosBD = new ConsultasUsuarios(); datosUsuario = objConsultasUsuariosBD.ObtenerUsuarios("usuarioshabilitados").ListaObjetoInventarios.Find(x => x.CorreoUsuario == infoCorreo); if (datosUsuario != null) { datosUsuario.PasswordUsuario = ConfigEncryption.EncriptarValor(datosUsuario.PasswordUsuario); msjUsuarios.ObjetoInventarios = datosUsuario; msjUsuarios.OperacionExitosa = true; Logs.Info(string.Format("Solicitud de datos exitosa para recuperación de contraseña para el correo: {0}.", infoCorreo)); } else { msjUsuarios.ObjetoInventarios = null; msjUsuarios.OperacionExitosa = false; Logs.Error(string.Format("Solicitud de datos fallida para recuperación de contraseña para el correo: {0}.", infoCorreo)); } } } catch (Exception e) { Logs.Error(string.Format("Solicitud de datos fallida para recuperación de contraseña para el correo: {0}: {1}", infoCorreo, e.Message)); msjUsuarios.ObjetoInventarios = null; msjUsuarios.OperacionExitosa = false; } return(msjUsuarios); }
/// <summary> /// Constructor para inicializar el Web Service, en donde de paso se inicializa la llave de encriptación para sus métodos. /// </summary> /// <param name="configuration"></param> public Startup(IConfiguration configuration) { Configuration = configuration; ConfigSeguridad confServSeguridad = new ConfigSeguridad(); ConfigEncryption.SetEncryptKey(confServSeguridad.ObtenerEncryptionKey()); ConfigBaseDatos.SetCadenaConexion(confServSeguridad.ObtenerCadenaConexion()); }
public string Desencriptar([FromBody] string valorEncriptado) { try { return(ConfigEncryption.DesencriptarValor(valorEncriptado)); } catch (Exception e) { Logs.Error(string.Format("No se pudo desencriptar la cadena: {0}.", e.Message)); return(null); } }
/// <summary> /// Método para ingresar un nuevo Usuario en la base de datos. /// </summary> /// <param name="infoUsuario"></param> /// <returns></returns> public MensajesUsuarios RegistroUsuario(Usuarios infoUsuario) { string pwdUsuario = ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario); MensajesUsuarios msjUsuarios = new MensajesUsuarios(); try { NpgsqlTransaction tran = conn_BD.BeginTransaction(); using (NpgsqlCommand cmd = new NpgsqlCommand("insert into dcicc_usuarios (id_rol,nombres_usuario,nick_usuario,password_usuario,correo_usuario,telefono_usuario,telefonocelular_usuario,direccion_usuario,habilitado_usuario) VALUES (@ir,@nu,@niu,@pu,@cu,@tu,@tcu,@du,@hu)", conn_BD)) { cmd.Parameters.Add("ir", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdRol; cmd.Parameters.Add("nu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NombresUsuario.Trim(); cmd.Parameters.Add("niu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NickUsuario.Trim(); cmd.Parameters.Add("pu", NpgsqlTypes.NpgsqlDbType.Text).Value = pwdUsuario.Trim(); cmd.Parameters.Add("cu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.CorreoUsuario.Trim(); cmd.Parameters.Add("tu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoUsuario) ? (object)infoUsuario.TelefonoUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("tcu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoCelUsuario) ? (object)infoUsuario.TelefonoCelUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("du", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.DireccionUsuario) ? (object)infoUsuario.DireccionUsuario.Trim().Trim() : DBNull.Value; cmd.Parameters.Add("hu", NpgsqlTypes.NpgsqlDbType.Boolean).Value = infoUsuario.HabilitadoUsuario; cmd.ExecuteNonQuery(); } string query = string.Empty; ConsultasRoles objConsultaRoles = new ConsultasRoles(); infoUsuario.NombreRol = objConsultaRoles.ObtenerRolPorId(infoUsuario.IdRol).ObjetoInventarios.NombreRol; if (infoUsuario.NombreRol == "administrador") { query = string.Format("create user {0} with password '{1}' LOGIN CREATEROLE CREATEUSER in group {2};", infoUsuario.NickUsuario.Trim(), pwdUsuario.Trim(), infoUsuario.NombreRol.Trim()); } else { query = string.Format("create user {0} with password '{1}' NOCREATEROLE NOCREATEUSER in group {2};", infoUsuario.NickUsuario.Trim(), pwdUsuario.Trim(), infoUsuario.NombreRol.Trim()); } using (NpgsqlCommand cmd = new NpgsqlCommand(query, conn_BD)) { cmd.ExecuteNonQuery(); } tran.Commit(); conn_BD.Close(); msjUsuarios.OperacionExitosa = true; } catch (Exception e) { conn_BD.Close(); msjUsuarios.OperacionExitosa = false; msjUsuarios.MensajeError = e.Message; } return(msjUsuarios); }
public IActionResult ObtenerTokenTransacciones([FromBody] string infoUsuarioSesion) { JwtToken token = null; try { if (infoUsuarioSesion != null) { ConsultasUsuarios objConsultasUsuariosBD = new ConsultasUsuarios(); MensajesUsuarios msjUsuarios = new MensajesUsuarios(); msjUsuarios = objConsultasUsuariosBD.ObtenerUsuarios("usuarioshabilitados"); if (msjUsuarios.OperacionExitosa) { Usuarios infoUsuario = msjUsuarios.ListaObjetoInventarios.Find(x => x.NickUsuario == infoUsuarioSesion); if (infoUsuario != null) { token = ConfiguracionToken(); ConfigBaseDatos.SetCadenaConexion(string.Format("Server=localhost;Port=5432;User Id={0};Password={1};Database=DCICC_BDInventario; CommandTimeout=3020;", infoUsuario.NickUsuario.ToLower(), ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario))); } else { return(Unauthorized()); } } else { return(Unauthorized()); } } else { return(Unauthorized()); } } catch (Exception e) { Logs.Error(string.Format("No se pudo generar el token de autorización para transacciones del usuario: {0}: {1}", infoUsuarioSesion, e.Message)); return(Unauthorized()); } return(Ok(token.Value)); }
/// <summary> /// Método para obtener los Usuarios de la base de datos. /// </summary> /// <param name="nombreFuncion">Tipo de función a llamar: consultausuarios o usuarioshabilitados</param> /// <returns></returns> public MensajesUsuarios ObtenerUsuarios(string nombreFuncion) { MensajesUsuarios msjUsuarios = new MensajesUsuarios(); List <Usuarios> lstUsuarios = new List <Usuarios>(); try { using (NpgsqlCommand cmd = new NpgsqlCommand(nombreFuncion, conn_BD)) { cmd.CommandType = CommandType.StoredProcedure; using (NpgsqlDataReader dr = cmd.ExecuteReader()) { if (nombreFuncion == "consultausuarios") { while (dr.Read()) { Usuarios objUsuarios = new Usuarios { IdUsuario = (int)dr[0], IdRol = (int)dr[1], NombresUsuario = dr[2].ToString().Trim(), NickUsuario = dr[3].ToString().Trim(), PasswordUsuario = ConfigEncryption.DesencriptarValor(dr[4].ToString().Trim()), CorreoUsuario = dr[5].ToString().Trim(), TelefonoUsuario = dr[6].ToString().Trim(), TelefonoCelUsuario = dr[7].ToString().Trim(), DireccionUsuario = dr[8].ToString().Trim(), HabilitadoUsuario = (bool)dr[9], }; lstUsuarios.Add(objUsuarios); } } else if (nombreFuncion == "responsablestickets") { while (dr.Read()) { Usuarios objUsuarios = new Usuarios { IdUsuario = (int)dr[0], NombresUsuario = dr[1].ToString().Trim(), }; lstUsuarios.Add(objUsuarios); } } else { while (dr.Read()) { Usuarios objUsuarios = new Usuarios { IdUsuario = (int)dr[0], IdRol = (int)dr[1], NombresUsuario = dr[2].ToString().Trim(), NickUsuario = dr[3].ToString().Trim(), PasswordUsuario = ConfigEncryption.DesencriptarValor(dr[4].ToString().Trim()), CorreoUsuario = dr[5].ToString().Trim(), TelefonoUsuario = dr[6].ToString().Trim(), TelefonoCelUsuario = dr[7].ToString().Trim(), DireccionUsuario = dr[8].ToString().Trim(), HabilitadoUsuario = (bool)dr[9], NombreRol = dr[10].ToString().Trim() }; lstUsuarios.Add(objUsuarios); } } conn_BD.Close(); msjUsuarios.ListaObjetoInventarios = lstUsuarios; msjUsuarios.OperacionExitosa = true; } } } catch (Exception e) { conn_BD.Close(); msjUsuarios.OperacionExitosa = false; msjUsuarios.MensajeError = e.Message; msjUsuarios.ListaObjetoInventarios = null; } return(msjUsuarios); }
static void Main(string[] args) { ConfigEncryption.ToggleConfigEncryption(); Const.CheckIsSingleInstance(); //System.Threading.Thread.Sleep(600000); CultureInfo ci = new CultureInfo("en-us"); Thread.CurrentThread.CurrentCulture = ci; Thread.CurrentThread.CurrentUICulture = ci; //WorkMethods.ReturnReception(); //WorkMethods.PrepareOutgoingConsignmentOperation("C:\\Projects\\OMKS\\mercury\\Работы\\avans\\241601.xml"); //return; Logs.Log(string.Format("----------------------------Начало работы {0}------------------------------------", Const.FTPServer)); Const.DoubleNotice = new List <string>(); Const.InitCheeseAndButter(); Const.InitProductItems(); while (Const.GlobalProductItemList.Count == 0) { Const.InitProductItems(); } //TODO: РАСКОММЕНТИРОВАТЬ!!!!!!!!!!!!!!!!!!!!!!!!! Const.InitStockEntrys(); while (Const.GlobalStockEntryList.Count == 0) { Const.InitStockEntrys(); } Enterprise enterprise = new Enterprise(); enterprise.guid = Const.EnterpriseId; //OMK //StockEntrys.MergeAll(RegisterModificationType.MERGE); //fileNames.AddRange(FTP.GetFilesByRootPath(Const.FTPPathRegisterProductionOperationRequest, Enum.RequestTypes.registerProductionOperationRequest, -1)); //fileNames.AddRange(FTP.GetFilesByRootPath(Const.FTPPathPrepareOutgoingConsignmentRequest, Enum.RequestTypes.prepareOutgoingConsignmentRequest, -1)); Thread threadRegisterProductionOperation = null; #region ProductItemThread //FTP.GetFiles4ProductItems(); //return; Thread threadProductItem = null; threadProductItem = new Thread(ProductItemThread); threadProductItem.Name = "ProductItemThread"; //threadProductItem.Start(); #endregion ProductItemThread #region ReturnThread //WorkMethods.ReturnReception(); //return; Thread threadReturn = null; threadReturn = new Thread(ReturnThread); threadReturn.Name = "ReturnThread"; threadReturn.Start(); #endregion ReturnThread #region IncomingThread //для теста //WorkMethods.IncomingReception(); //return; //для теста Thread threadIncoming = null; threadIncoming = new Thread(IncomingThread); threadIncoming.Name = "IncomingThread"; threadIncoming.Start(); #endregion IncomingThread #region ErrorThread //FTP.GetFiles4Error(Const.FTPPathPrepareOutgoingConsignmentRequest, -2); //return; Thread threadError = null; threadError = new Thread(ErrorThread); threadError.Name = "ErrorThread"; //threadError.Start(); #endregion ErrorThread #region ReportThread Thread threadReport = null; threadRegisterProductionOperation = new Thread(RegisterProductionOperationThread); threadRegisterProductionOperation.Name = "ReportThread"; //threadRegisterProductionOperation.Start(); threadReport = new Thread(ReportThread); threadReport.Name = "ReportThread"; threadReport.Start(); //Const.FTPPathRegisterProductionOperationRequest, Enum.RequestTypes.prepareOutgoingConsignmentRequest #endregion ReportThread #region WhatsAppThread //Thread threadWhatsApp = null; //threadWhatsApp = new Thread(WhatsAppThread); //threadWhatsApp.Name = "WhatsAppThread"; //threadWhatsApp.Start(); //threadWhatsApp.Abort(); #endregion WhatsAppThread System.Object lockThis = new System.Object(); while (true) { try { lock (lockThis) { //Logs.Log(string.Format("------------------------------------Начало работы------------------------------------")); //Console.WriteLine("{0} Поток отгрузки", DateTime.Now.ToString("F")); #region проверка лицензии //bool isLicensed = false; //isLicensed = ServiceDB.CheckLicense(Const.IssuerId); //if (!isLicensed) //{ // Logs.Log(string.Format("!!!Проблема соединения с интернетом, ИР {0}", Const.FTPServer)); // System.Threading.Thread.Sleep(60000); // isLicensed = ServiceDB.CheckLicense(Const.IssuerId); //} //if (!isLicensed) //{ // #region запись в БД для рассылки Телеграмм // ApplicationResponse ar = new ApplicationResponse(Guid.NewGuid().ToString()); // ar.Status = Enum.ApplicationStatus.REJECTED; // ar.RcvDate = DateTime.Now; // ar.ErrorList = new List<Error>(); // Error error = new Error("ADM00001", "!!!Проблема соединения с интернетом, работа ИР ЗАВЕРШЕНА!!!"); // ar.ErrorList.Add(error); // ar.Save(); // #endregion запись в БД для рассылки Телеграмм // Logs.Log(string.Format("!!!Проблема соединения с интернетом, работа ИР {0} ЗАВЕРШЕНА!!!", Const.FTPServer)); // Environment.Exit(0); //} #endregion проверка лицензии Const.CheckLicense(); if (DateTime.Now.Hour == 23 && DateTime.Now.Minute > 57) { int bufPause = (86400 - (int)((DateTime.Now - DateTime.Today).TotalSeconds)); Logs.Log(string.Format("Буферная пауза перед полуночью длительнотью {0} секунд", bufPause)); System.Threading.Thread.Sleep(bufPause * 1000); } FTP.GetFilesByRootPath(Const.FTPPathRegisterProductionOperationRequest, Enum.RequestTypes.registerProductionOperationRequest, -30); //-5 System.Threading.Thread.Sleep(1000); StockEntrys.MergeAll(); FTP.GetFilesByRootPath(Const.FTPPathPrepareOutgoingConsignmentRequest, Enum.RequestTypes.prepareOutgoingConsignmentRequest, -1); //-30 System.Threading.Thread.Sleep(1000); FTP.GetFilesByRootPath(Const.FTPPathInvalidate, Enum.RequestTypes.InvalidateRequest, -6); System.Threading.Thread.Sleep(1000); FTP.GetFilesByRootPath(Const.FTPPathDeleteTTN, Enum.RequestTypes.DeleteTTNRequest, -1); System.Threading.Thread.Sleep(1000); //FTP.GetFiles4Reports(); //System.Threading.Thread.Sleep(1000); //Logs.Log(string.Format("------------------------------------Окончание работы------------------------------------")); //System.Threading.Thread.Sleep(60000); if (DateTime.Now.Hour > 8 && DateTime.Now.Hour < 19 && DateTime.Now.Minute > 0 && DateTime.Now.Minute < 5 && DateTime.Now.Hour != lastUpHour) { Const.InitProductItems(); while (Const.GlobalProductItemList.Count == 0) { Const.InitProductItems(); } lastUpHour = DateTime.Now.Hour; } if ((DateTime.Now.Hour == 10 || DateTime.Now.Hour == 17) && DateTime.Now.Minute > 5 && DateTime.Now.Minute < 10 && DateTime.Now.Hour != lastUpHourSE) { Const.InitStockEntrys(); while (Const.GlobalStockEntryList.Count == 0) { Const.InitStockEntrys(); } lastUpHourSE = DateTime.Now.Hour; } if (Const.DoubleNotice != null && DateTime.Now.Minute > 0 && DateTime.Now.Minute < 5 && DateTime.Now.Hour != lastUpHourDN) { Const.DoubleNotice.Clear(); lastUpHourDN = DateTime.Now.Hour; } } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); Logs.ErrorLog(ex.ToString()); } } }
/// <summary> /// Método para actualizar un Usuario en la base de datos. /// </summary> /// <param name="infoUsuario"></param> /// <returns></returns> public MensajesUsuarios ActualizacionUsuario(Usuarios infoUsuario) { MensajesUsuarios msjUsuarios = new MensajesUsuarios(); try { NpgsqlTransaction tran = conn_BD.BeginTransaction(); string pwdUsuario = ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario); ConsultasUsuarios objConsultaUsuarios = new ConsultasUsuarios(); if (objConsultaUsuarios.ObtenerUsuarioPorNick(infoUsuario.NickUsuario).ObjetoInventarios == null) { using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set id_rol = @ir,nombres_usuario = @nu,password_usuario = @pu,correo_usuario = @cu,telefono_usuario = @tu,telefonocelular_usuario = @tcu,direccion_usuario = @du,habilitado_usuario = @hu where id_usuario = @iu", conn_BD)) { cmd.Parameters.Add("ir", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdRol; cmd.Parameters.Add("nu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NombresUsuario.Trim(); cmd.Parameters.Add("pu", NpgsqlTypes.NpgsqlDbType.Text).Value = pwdUsuario.Trim(); cmd.Parameters.Add("cu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.CorreoUsuario.Trim(); cmd.Parameters.Add("tu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoUsuario) ? (object)infoUsuario.TelefonoUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("tcu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoCelUsuario) ? (object)infoUsuario.TelefonoCelUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("du", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.DireccionUsuario) ? (object)infoUsuario.DireccionUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("hu", NpgsqlTypes.NpgsqlDbType.Boolean).Value = infoUsuario.HabilitadoUsuario; cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdUsuario; cmd.ExecuteNonQuery(); } tran.Commit(); msjUsuarios = ActualizacionNickUsuario(infoUsuario); if (infoUsuario.NombreRolAntiguo != null) { ActualizarRolUsuario(infoUsuario.NombreRolAntiguo.Trim(), infoUsuario.NombreRol.Trim(), infoUsuario.NickUsuario.Trim()); } conn_BD.Close(); } else { using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set id_rol = @ir,nombres_usuario = @nu,nick_usuario = @niu,password_usuario = @pu,correo_usuario = @cu,telefono_usuario = @tu,telefonocelular_usuario = @tcu,direccion_usuario = @du,habilitado_usuario = @hu where id_usuario = @iu", conn_BD)) { cmd.Parameters.Add("ir", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdRol; cmd.Parameters.Add("nu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NombresUsuario.Trim(); cmd.Parameters.Add("niu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NickUsuario.Trim(); cmd.Parameters.Add("pu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = pwdUsuario.Trim(); cmd.Parameters.Add("cu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.CorreoUsuario.Trim(); cmd.Parameters.Add("tu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoUsuario) ? (object)infoUsuario.TelefonoUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("tcu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoCelUsuario) ? (object)infoUsuario.TelefonoCelUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("du", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.DireccionUsuario) ? (object)infoUsuario.DireccionUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("hu", NpgsqlTypes.NpgsqlDbType.Boolean).Value = infoUsuario.HabilitadoUsuario; cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdUsuario; cmd.ExecuteNonQuery(); } if (infoUsuario.NombreRolAntiguo != null) { ActualizarRolUsuario(infoUsuario.NombreRolAntiguo.Trim(), infoUsuario.NombreRol.Trim(), infoUsuario.NickUsuario.Trim()); } string query = string.Format("ALTER USER {0} with password '{1}';", infoUsuario.NickUsuario.Trim(), pwdUsuario.Trim()); using (var cmd = new NpgsqlCommand(query, conn_BD)) { cmd.ExecuteNonQuery(); } tran.Commit(); conn_BD.Close(); msjUsuarios.OperacionExitosa = true; } } catch (Exception e) { conn_BD.Close(); msjUsuarios.OperacionExitosa = false; msjUsuarios.MensajeError = e.Message; } return(msjUsuarios); }
/// <summary> /// Método para actualizar el Nick de un Usuario en la base de datos. /// </summary> /// <param name="infoUsuario"></param> /// <returns></returns> public MensajesUsuarios ActualizacionNickUsuario(Usuarios infoUsuario) { MensajesUsuarios msjUsuarios = new MensajesUsuarios(); try { ConsultasUsuarios objConsultaUsuarios = new ConsultasUsuarios(); Usuarios infoUsuarioBD = objConsultaUsuarios.ObtenerUsuarioPorId(infoUsuario.IdUsuario).ObjetoInventarios; string nickAnterior = infoUsuarioBD.NickUsuario; NpgsqlTransaction tran = conn_BD.BeginTransaction(); using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set nick_usuario = @niu where id_usuario = @iu", conn_BD)) { cmd.Parameters.Add("niu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NickUsuario.Trim(); cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdUsuario; cmd.ExecuteNonQuery(); } string queryUser = string.Format("ALTER USER {0} RENAME TO {1};", nickAnterior, infoUsuario.NickUsuario.Trim()); using (var cmd = new NpgsqlCommand(queryUser, conn_BD)) { cmd.ExecuteNonQuery(); } string queryPwd = string.Format("ALTER USER {0} with password '{1}';", infoUsuario.NickUsuario, ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario.Trim())); using (var cmd = new NpgsqlCommand(queryPwd, conn_BD)) { cmd.ExecuteNonQuery(); } tran.Commit(); msjUsuarios.OperacionExitosa = true; } catch (Exception e) { conn_BD.Close(); msjUsuarios.OperacionExitosa = false; msjUsuarios.MensajeError = e.Message; } return(msjUsuarios); }
/// <summary> /// Método para actualizar el perfil de un Usuario en la base de datos. /// </summary> /// <param name="infoUsuario"></param> /// <returns></returns> public MensajesUsuarios ActualizacionPerfilUsuario(Usuarios infoUsuario) { MensajesUsuarios msjUsuarios = new MensajesUsuarios(); try { NpgsqlTransaction tran = conn_BD.BeginTransaction(); using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set nombres_usuario = @nu,correo_usuario = @cu,telefono_usuario = @tu,telefonocelular_usuario = @tcu,direccion_usuario = @du where id_usuario = @iu", conn_BD)) { cmd.Parameters.Add("nu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NombresUsuario.Trim(); cmd.Parameters.Add("cu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.CorreoUsuario.Trim(); cmd.Parameters.Add("tu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoUsuario) ? (object)infoUsuario.TelefonoUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("tcu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.TelefonoCelUsuario) ? (object)infoUsuario.TelefonoCelUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("du", NpgsqlTypes.NpgsqlDbType.Varchar).Value = !string.IsNullOrEmpty(infoUsuario.DireccionUsuario) ? (object)infoUsuario.DireccionUsuario.Trim() : DBNull.Value; cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdUsuario; cmd.ExecuteNonQuery(); } ConsultasUsuarios objConsultaUsuarios = new ConsultasUsuarios(); if (objConsultaUsuarios.ObtenerUsuarioPorNick(infoUsuario.NickUsuario).ObjetoInventarios == null) { ConsultasUsuarios objConsultaUsuariosBD = new ConsultasUsuarios(); Usuarios infoUsuarioBD = objConsultaUsuariosBD.ObtenerUsuarioPorId(infoUsuario.IdUsuario).ObjetoInventarios; string nickAnterior = infoUsuarioBD.NickUsuario.Trim(); using (NpgsqlCommand cmd = new NpgsqlCommand("UPDATE dcicc_usuarios set nick_usuario = @niu where id_usuario = @iu", conn_BD)) { cmd.Parameters.Add("niu", NpgsqlTypes.NpgsqlDbType.Varchar).Value = infoUsuario.NickUsuario.Trim(); cmd.Parameters.Add("iu", NpgsqlTypes.NpgsqlDbType.Integer).Value = infoUsuario.IdUsuario; cmd.ExecuteNonQuery(); } tran.Commit(); conn_BD.Close(); NpgsqlConnection connBD = new NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres;Password=Admin*1234;Database=DCICC_BDInventario; CommandTimeout=3020;"); connBD.Open(); NpgsqlTransaction tranBD = connBD.BeginTransaction(); string queryUser = string.Format("ALTER USER {0} RENAME TO {1};", nickAnterior.Trim(), infoUsuario.NickUsuario.Trim()); using (var cmd = new NpgsqlCommand(queryUser, connBD)) { cmd.ExecuteNonQuery(); } string queryPwd = string.Format("ALTER USER {0} with password '{1}';", infoUsuario.NickUsuario.Trim(), ConfigEncryption.EncriptarValor(infoUsuario.PasswordUsuario.Trim())); using (var cmd = new NpgsqlCommand(queryPwd, connBD)) { cmd.ExecuteNonQuery(); } tranBD.Commit(); connBD.Close(); } else { tran.Commit(); conn_BD.Close(); } msjUsuarios.OperacionExitosa = true; } catch (Exception e) { conn_BD.Close(); msjUsuarios.OperacionExitosa = false; msjUsuarios.MensajeError = e.Message; } return(msjUsuarios); }