protected void BtnAceptar_Click(object sender, EventArgs e) { if (Txtusuario.Text != "" && Txtpass.Text != "") { EntUsuario obj = NegUsuario.Login(Txtusuario.Text, Txtpass.Text); if (obj != null) { Session["usuario"] = obj; Session["perfil"] = obj; Response.Redirect("FrmPrincipal.aspx"); } else { LblError.Text = "Usuario o Contraseña invalido"; LblError.Visible = true; } } else { LblError.Text = "Falta agregar datos"; LblError.Visible = true; } }
public int InsUpdUsuarios(EntUsuario Dobj, string opc, string tipo) { Respuesta <int> res = new Respuesta <int>(); DBParameterCollection pcol = ParamConfiguracionADE.LLenaUsuarios(Dobj, opc, tipo); using (dr = db.ExecuteDataReader(Procedimientos.SpUsuarios, pcol, conm, tranm, CommandType.StoredProcedure)) { while (dr.Read()) { res = ExisteError(dr); if (!res.EsExitoso) { throw new Exception(res.MensajeUsuario); } else { return(res.TotalRegistros); } } } return(0); }
public static DBParameterCollection LLenaUsuarios(EntUsuario obj, string opc, string tipo) { DBParameter p1 = new DBParameter("popc", opc, System.Data.DbType.String); DBParameter p2 = new DBParameter("poptipo", tipo); DBParameter p3 = new DBParameter("IdUsuario", obj.IdUsuario, System.Data.DbType.Int32); DBParameter p4 = new DBParameter("IdSistema", obj.IdSistema, System.Data.DbType.Int32); DBParameter p5 = new DBParameter("Usuario", obj.Usuario); DBParameter p6 = new DBParameter("nombre", obj.Nombre); DBParameter p7 = new DBParameter("clave", obj.Clave); DBParameter p8 = new DBParameter("origen", obj.Origen); DBParameter p9 = new DBParameter("Activo", obj.Activo, System.Data.DbType.Int32); DBParameter p10 = new DBParameter("IdUsuarioRegistro", obj.IdUsuarioRegistro, System.Data.DbType.Int32); DBParameter p11 = new DBParameter("IdUsuarioModifico", obj.IdUsuarioModifico, System.Data.DbType.Int32); DBParameter p12 = new DBParameter("IdPerfil", obj.IdPerfil, System.Data.DbType.Int32); DBParameter p13 = new DBParameter("IdArea", obj.IdArea, System.Data.DbType.Int32); DBParameter p14 = new DBParameter("CorreoElectronico", obj.CorreoElectronico); DBParameter[] parms = new DBParameter[] { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14 }; DBParameterCollection pcol = new DBParameterCollection(); pcol.AddRange(parms); return(pcol); }
public IMDResponse <EntUsuario> CCreateUsuario([FromBody] EntUsuario entUsuario) { IMDResponse <EntUsuario> response = new IMDResponse <EntUsuario>(); string metodo = nameof(this.CCreateModulo); logger.Info(IMDSerialize.Serialize(67823458338139, $"Inicia {metodo}([FromBody]EntUsuario entUsuario)", entUsuario)); try { BusUsuario busUsuario = new BusUsuario(); response = busUsuario.BSaveUsuario(entUsuario, true); } catch (Exception ex) { response.Code = 67823458122133; response.Message = "Ocurrió un error inesperado en el servicio al guardar el usuario."; logger.Error(IMDSerialize.Serialize(67823458338139, $"Error en {metodo}([FromBody]EntUsuario entUsuario): {ex.Message}", entUsuario, ex, response)); } return(response); }
/********************* * MÉTODO DE LIMPIEZA * **********************/ protected void Limpiar() { EntUsuario.Text = ""; EntContrasena.Text = ""; EntNombre.Text = ""; EntApellido.Text = ""; EntCedula.Text = ""; EntFechaIng.Text = ""; EntCodigoReg.Text = ""; EntEmail.Text = ""; EntPista.Text = ""; EntUsuario.ChildFocus(DirectionType.Up); EntCodigoReg.Text = us.GetCodigo(); EntFechaIng.Text = DateTime.Now.ToString("dd/MM/yyyy"); RbAdministrador.Active = true; cod.NuevoCod(EntCodigo, "A"); ValidarBotones.Enabled = true; BtnModificar.Sensitive = false; BtnEliminar.Sensitive = false; RbAdministrador.Sensitive = true; RbVendedor.Sensitive = true; RbActualizador.Sensitive = true; }
public List <EntUsuario> ObtenerTodos() { List <EntUsuario> Lista = new List <EntUsuario>(); EntUsuario entidad = null; try { AbrirConexion(); StringBuilder CadenaSql = new StringBuilder(); var sql = "SELECT a.id_usuario, a.usuario, a.password, a.id_rol, b.desc_rol, a.activo FROM informix.usuarios a left join informix.roles b on a.id_rol=b.id_rol"; IfxCommand cmd = new IfxCommand(sql, Conexion); using (var dr = cmd.ExecuteReader()) { while (dr.Read()) { entidad = new EntUsuario(); entidad.id_usuario = int.Parse(dr["id_usuario"].ToString()); entidad.usuario = dr["usuario"].ToString(); entidad.password = dr["password"].ToString(); entidad.id_rol = int.Parse(dr["id_rol"].ToString()); entidad.desc_rol = dr["desc_rol"].ToString(); entidad.activo = bool.Parse(dr["activo"].ToString()); entidad.s_activo = bool.Parse(dr["activo"].ToString()) ? "Activo" : "Inactivo"; Lista.Add(entidad); } } } catch (Exception exc) { throw exc; } finally { CerrarConexion(); } return(Lista); }
public EntUsuario Obtener(int id) { EntUsuario entidad = null; try { AbrirConexion(); StringBuilder CadenaSql = new StringBuilder(); IfxCommand cmd = new IfxCommand(string.Empty, Conexion); cmd.CommandText = "SELECT a.id_usuario, a.usuario, a.password, a.id_rol, b.desc_rol, a.activo FROM informix.usuarios a left join informix.roles b on a.id_rol=b.id_rol WHERE a.id_usuario=?"; cmd.Parameters.Add(new IfxParameter()).Value = id; using (var dr = cmd.ExecuteReader()) { if (dr.Read()) { entidad = new EntUsuario(); entidad.id_usuario = int.Parse(dr["id_usuario"].ToString()); entidad.usuario = dr["usuario"].ToString(); entidad.password = dr["password"].ToString(); entidad.id_rol = int.Parse(dr["id_rol"].ToString()); entidad.desc_rol = dr["desc_rol"].ToString(); entidad.activo = bool.Parse(dr["activo"].ToString()); entidad.s_activo = bool.Parse(dr["activo"].ToString()) ? "Activo" : "Inactivo"; } } } catch (Exception exc) { throw exc; } finally { CerrarConexion(); } return(entidad); }
public ActionResult getLogin(Usuarios model) { SrvLogin oSrvLogin = new SrvLogin(); EntUsuario entSession = new EntUsuario(); Usuarios sesion = oSrvLogin.IsLogin(model); if (sesion != null) { HttpCookie InicioSesion = new HttpCookie("InicioSesion"); InicioSesion.Value = "1"; System.Web.HttpContext.Current.Response.Cookies.Add(InicioSesion); if (sesion.usuario.ToLower() == model.usuario.ToLower() && sesion.contrasenia == model.contrasenia) { if (IniciarSesion(entSession, sesion)) { if (entSession == null) { return(RedirectToAction("Index", "Login")); } else { return(RedirectToAction("Index", "Administrador")); } } } else { ViewBag.Msj = "No fue posible iniciar sesion por favor intente de nuevo"; } return(View("Index")); } else { ViewBag.Msj = "No fue posible iniciar sesion por favor intente de nuevo"; return(View("Index")); } }
public ActionResult Login(EntUsuario usuario) { try { if (comandoU.Entrar(usuario) == true) { int id = comandoU.Obtener(usuario.NomUsuario); EntUsuario u = new EntUsuario(); u = comandoU.Obtener(id); Session["usuario"] = u; return(RedirectToAction("Datos")); } else { TempData["error"] = "Usuario o Contraseña Invalido"; return(View()); } } catch (Exception error) { TempData["error"] = error.Message; return(View()); } }
public void LOGUEO_USUARIO(EntUsuario oEntUsuario) { try { using (SqlConnection conex = new SqlConnection(datConexion.cad_con)) { using (SqlCommand cmd = new SqlCommand("LOGUEO_USUARIO", conex)) { conex.Open(); cmd.Parameters.Add("@usuario", SqlDbType.VarChar, 200).Value = oEntUsuario.Usuario; cmd.Parameters.Add("@pass", SqlDbType.VarChar, 200).Value = oEntUsuario.Password; cmd.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); conex.Close(); } } } catch (Exception ex) { throw new Exception(ex.Message); } }
public void AlterarSenha(EntUsuario objUsuario, Int32 IdUsuario) { using (DbConnection connection = db.CreateConnection()) { connection.Open(); DbTransaction transaction = connection.BeginTransaction(); try { dalUsuario.AlterarSenha(objUsuario, transaction, db); SaveLog(IdUsuario, EntLog.LOG_EDITAR, "Usuário", objUsuario.IdUsuario, objUsuario, transaction, db); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); SaveLog(IdUsuario, EntLog.LOG_ERRO, "Usuário", objUsuario.IdUsuario, objUsuario, ex.Message, db, connection); throw; } finally { connection.Close(); } } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Request.QueryString["folio"] != null) { string perfill = ""; EntUsuario objj = (EntUsuario)Session["usuario"]; EntUsuario objsss = (EntUsuario)Session["perfil"]; if (objj != null) { perfill = objsss.perfil; } int folio = Convert.ToInt32(Request.QueryString["folio"]); EntIngenieros obj = NegIngenieros.buscarreporte(folio); TxtUsuario.Text = obj.reporta; List <EntUbicacion> lista = NegUbicacion.listarubicacion(); foreach (EntUbicacion c in lista) { ListItem li = new ListItem(c.ubicacion, c.idubicacion.ToString()); Cmbubicacion.Items.Add(li); } Cmbubicacion.SelectedValue = obj.idubicacion.ToString(); string saberarea = Cmbubicacion.SelectedItem.Text; if (saberarea != "CEDI" | saberarea != "Corporativo") { saberarea = "Sucursal"; } List <EntUbicacion> lis = NegUbicacion.areastrabaall(saberarea); foreach (EntUbicacion r in lis) { ListItem lii = new ListItem(r.area, r.idarea.ToString()); Cmbcentrotrabajo.Items.Add(lii); } Cmbcentrotrabajo.SelectedValue = obj.area; Cmbnumero.Text = Convert.ToString(obj.numeromaquina); List <EntAtienden> listar = NegIngenieros.buscarati(); foreach (EntAtienden c in listar) { ListItem li = new ListItem(c.nombre, c.idingenieros.ToString()); Cmbingenieros.Items.Add(li); } Cmbingenieros.SelectedValue = obj.idingenieros.ToString(); List <EntDispositivos> listaa = NegIngenieros.listardispositivos(); foreach (EntDispositivos c in listaa) { ListItem li = new ListItem(c.descripcion, c.iddispositivo.ToString()); Cmbdispositivo.Items.Add(li); } Cmbdispositivo.SelectedValue = obj.iddispositivo.ToString(); Txtinicial.Text = Convert.ToString(obj.fechainicio); TxtSolicitud.Text = obj.solicitud; Txtobservaciones.Text = obj.observaciones; Txtingatendio.Text = obj.atendioreporte; Txtsolucion.Text = obj.solucion; Txtusuariocerro.Text = obj.cerroreporte; Txtfechaasignado.Text = Convert.ToString(obj.fechaasignado); if (perfill != "SOPORTE") { } else { Btnasignar.Enabled = false; } } else { Response.Redirect("FrmPrincipal.aspx"); } } }
public static int agregarusuarios(EntUsuario obj) { return(DaoPerfiles.agregarusuarios(obj)); }
public void LOGUEO_USUARIO(EntUsuario oEntUsuario) { objDatUsaurio.LOGUEO_USUARIO(oEntUsuario); }
public void INS_USUARIO(EntUsuario oEntUsuario, int opc) { objDatUsaurio.INS_USUARIO(oEntUsuario, opc); }
public bool Actualizar(EntUsuario Entidad) { return(PerUsuarios.Update(Entidad)); }
public bool Insertar(EntUsuario Entidad) { return(PerUsuarios.Insert(Entidad)); }
/// <summary> /// Iniciar sesión en el portal administrativo/Callcenter /// </summary> /// <param name="sUsuario"></param> /// <param name="sPassword"></param> /// <returns></returns> public IMDResponse <EntUsuario> BLogin(string sUsuario, string sPassword) { IMDResponse <EntUsuario> response = new IMDResponse <EntUsuario>(); string metodo = nameof(this.BLogin); logger.Info(IMDSerialize.Serialize(67823458374658, $"Inicia {metodo}(string sUsuario, string sPassword)", sUsuario, sPassword)); try { sPassword = BEncodePassword(sPassword); IMDResponse <DataTable> dtUsuario = datUsuario.DLogin(sUsuario, sPassword); if (dtUsuario.Code != 0) { return(dtUsuario.GetResponse <EntUsuario>()); } if (dtUsuario.Result.Rows.Count != 1) { response.Code = 78772637586; response.Message = "Usuario o contraseña incorrecta."; return(response); } EntUsuario entUsuario = new EntUsuario(); foreach (DataRow item in dtUsuario.Result.Rows) { IMDDataRow dr = new IMDDataRow(item); entUsuario.iIdUsuario = dr.ConvertTo <int>("iIdUsuario"); entUsuario.iIdTipoCuenta = dr.ConvertTo <int>("iIdTipoCuenta"); entUsuario.sTipoCuenta = dr.ConvertTo <string>("sTipoCuenta"); entUsuario.iIdPerfil = dr.ConvertTo <int>("iIdPerfil"); entUsuario.sPerfil = dr.ConvertTo <string>("sPerfil"); entUsuario.sUsuario = dr.ConvertTo <string>("sUsuario"); //entUsuario.sPassword = dr.ConvertTo<string>("sPassword"); entUsuario.sNombres = dr.ConvertTo <string>("sNombres"); entUsuario.sApellidoPaterno = dr.ConvertTo <string>("sApellidoPaterno"); entUsuario.sApellidoMaterno = dr.ConvertTo <string>("sApellidoMaterno"); entUsuario.dtFechaNacimiento = dr.ConvertTo <DateTime>("dtFechaNacimiento"); entUsuario.sTelefono = dr.ConvertTo <string>("sTelefono"); entUsuario.sCorreo = dr.ConvertTo <string>("sCorreo"); entUsuario.sDomicilio = dr.ConvertTo <string>("sDomicilio"); entUsuario.iIdUsuarioMod = dr.ConvertTo <int>("iIdUsuarioMod"); entUsuario.bActivo = dr.ConvertTo <bool>("bActivo"); entUsuario.bBaja = dr.ConvertTo <bool>("bBaja"); } response.Result = entUsuario; response.Message = "Inicio de sesión existoso."; } catch (Exception ex) { response.Code = 67823458375435; response.Message = "Ocurrió un error inesperado al iniciar sesión"; logger.Error(IMDSerialize.Serialize(67823458375435, $"Error en {metodo}(string sUsuario, string sPassword): {ex.Message}", sUsuario, sPassword, ex, response)); } return(response); }
/// <summary> /// Envía las credenciales al correo del usuario /// </summary> /// <param name="psCorreo"></param> /// <param name="enumEmail"></param> /// <param name="users"></param> /// <returns></returns> public IMDResponse <bool> BEnviarCredenciales(string psCorreo, EnumEmailActionPass enumEmail, List <string> users = null) { IMDResponse <bool> response = new IMDResponse <bool>(); string metodo = nameof(this.BEnviarCredenciales); logger.Info(IMDSerialize.Serialize(67823458631845, $"Inicia {metodo}(string psCorreo)", psCorreo)); try { if (string.IsNullOrWhiteSpace(psCorreo)) { response.Code = -23746876326; response.Message = "El correo electrónico es requerido."; return(response); } //Obtener datos del usuario IMDResponse <List <EntUsuario> > resGetUser = this.BObtenerUsuario(psCorreo: psCorreo); if (resGetUser.Code != 0) { return(resGetUser.GetResponse <bool>()); } if (resGetUser.Result.Count < 1) { response.Code = -8767263467; response.Message = "El correo electrónico no se encuentra registrado en el sistema"; return(response); } string cuenta = string.Empty; List <EntUsuario> currentUsers = resGetUser.Result; if (users != null) { currentUsers = currentUsers.Where(x => users.Contains(x.sUsuario)).ToList(); } //Armar la lista de usuarios enlazados al correo electrónico foreach (EntUsuario user in currentUsers) { if (user.bAcceso == null || user.bAcceso == false || !user.bActivo || user.bBaja) { continue; } string pass = this.BDeCodePassWord(user.sPassword); cuenta += $"<tr class=\"font-table bold small center table-border-b\"><td>{user.sTipoCuenta}</td><td>{user.sUsuario}</td><td>{pass}</td></tr>"; } if (string.IsNullOrWhiteSpace(cuenta)) { response.Code = -834787687623; response.Message = "No se encontraron cuentas activas para el usuario."; return(response); } EntUsuario entUsuario = resGetUser.Result.First(); //Armar asunto y cupero del correo string asunto = string.Empty; string titulo = string.Empty; string header = string.Empty; string footer = string.Empty; switch (enumEmail) { case EnumEmailActionPass.Crear: asunto = "Meditoc - Credenciales de acceso"; titulo = "Bienvenido a Meditoc Call Center"; header = "Se han creado las credenciales de acceso al portal de MeditocCallCenter:"; footer = "Le sugerimos cambiar la contraseña en su próximo ingreso al portal de MeditocCallCenter."; break; case EnumEmailActionPass.Modificar: asunto = "Meditoc - Cambio en las credenciales"; titulo = "Modificación en las credenciales de acceso"; header = "Se han modificado las credenciales de acceso al portal de MeditocCallCenter:"; footer = "Si no realizó esta acción, cambie sus credenciales en su próximo ingreso o contacte a su administrador."; break; case EnumEmailActionPass.Recuperar: asunto = "Meditoc - Recuperación de cuenta"; titulo = "Recuperación de la cuenta"; header = "Se ha solicitado la recuperación de las credenciales de acceso al portal de MeditocCallCenter:"; footer = "Le sugerimos cambiar la contraseña en su próximo ingreso al portal de MeditocCallCenter."; break; default: break; } //Preparar correo string plantillaBody = "<!DOCTYPE html><html><head><meta charset=\"utf-8;\" /><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" /><link href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap\" rel=\"stylesheet\" /><style>body {font-family: Roboto, \"Segoe UI\", Tahoma, Geneva, Verdana, sans-serif;margin: 0;}.center {text-align: center !important;}.light {font-weight: 300;}.normal {font-weight: normal;}.bold {font-weight: 500;}.small {font-size: 12px;}.large {font-size: 15px;}.font-default {color: #707070;}.font-secondary {color: #115c8a;}.font-unset {color: #ffffff;}.font-table {color: #878787;}.table {margin: auto;width: 100%;max-width: 800px;border: 1px solid #dddddd;border-spacing: 0px;border-collapse: 0px;}.table td {padding: 6px 0px;}.logo-head {background-color: #11b6ca;padding: 5px 0px;}.table-content {margin: auto;width: 90%;border-collapse: collapse;}.table-detail {margin: auto;width: 100%;border-collapse: collapse;}.table-detail td {padding: 8px;}.head-detail {background-color: #115c8a;}.divider {height: 1px;border: 0;background-color: #989898;}.link {text-decoration: none;}.link:hover {text-decoration: underline;}.link-none {text-decoration: none;}.table-border-b td {border-bottom: 1px solid #ccc;}</style></head><body><table class=\"table\"><tr><td class=\"logo-head center\"><img alt=\"logo-meditoc\" src=\"sLogoMeditoc\" height=\"50px\" /></td></tr><tr><td><table class=\"table-content\"><tr><td class=\"center\"><span class=\"font-default bold large\">data.titulo</span></td></tr><tr class=\"center\"><td><span class=\"font-default normal large\">data.header</span></td></tr><tr><td><table class=\"table-detail\"><tr class=\"head-detail font-unset bold small center\"><td colspan=\"3\">ACCESO</td></tr><tr><td><table class=\"table-detail\"><thead><tr class=\"font-table bold small font-secondary\"><th>Tipo de cuenta</th><th>Usuario</th><th>Contraseña</th></tr></thead><tbody>data.cuenta</tbody></table></td></tr></table></td></tr><tr class=\"center\"><td><p><span class=\"font-default normal large\">data.footer</span></p></td></tr><tr><td><hr class=\"divider\" /></td></tr><tr><td><span class=\"font-default light small\">De conformidad con la ley federal de protección de datos personales en posesión delos particulares, ponemos a su disposición nuestro <a href=\"sAvisoPrivacidad\" class=\"link font-secondary normal\"> Aviso de Privacidad </a> y <a href=\"sTerminosCondiciones\" class=\"link font-secondary normal\"> Términos y Condiciones. </a></span></td></tr></table></td></tr></table></body></html>"; plantillaBody = plantillaBody.Replace("data.cuenta", cuenta); plantillaBody = plantillaBody.Replace("data.titulo", titulo); plantillaBody = plantillaBody.Replace("data.header", header); plantillaBody = plantillaBody.Replace("data.footer", footer); plantillaBody = plantillaBody.Replace("sLogoMeditoc", ConfigurationManager.AppSettings["sLogoMeditoc"]); plantillaBody = plantillaBody.Replace("sAvisoPrivacidad", ConfigurationManager.AppSettings["sAvisoDePrivacidad"]); plantillaBody = plantillaBody.Replace("sTerminosCondiciones", ConfigurationManager.AppSettings["sTerminosYCondiciones"]); //Enviar correo BusCorreo busCorreo = new BusCorreo(); busCorreo.BEnviarEmail("", "", "", asunto, plantillaBody, entUsuario.sCorreo, "", ""); response.Code = 0; response.Result = true; response.Message = "Las credenciales se han enviado al correo proporcionado."; } catch (Exception ex) { response.Code = 67823458632622; response.Message = "Ocurrió un error inesperado al recuperar la contraseña. Intenta más tarde."; logger.Error(IMDSerialize.Serialize(67823458632622, $"Error en {metodo}(string psCorreo): {ex.Message}", psCorreo, ex, response)); } return(response); }
/// <summary> /// Agrega/actualiza/elimina un usuario de la base /// </summary> /// <param name="entUsuario"></param> /// <param name="bEnviarCredenciales"></param> /// <returns></returns> public IMDResponse <EntUsuario> BSaveUsuario(EntUsuario entUsuario, bool bEnviarCredenciales = false) { IMDResponse <EntUsuario> response = new IMDResponse <EntUsuario>(); string metodo = nameof(this.BSaveUsuario); logger.Info(IMDSerialize.Serialize(67823458344355, $"Inicia {metodo}(EntUsuario entUsuario)", entUsuario)); try { if (entUsuario == null) { response.Code = 67823458345132; response.Message = "No se ingresó información del usuario."; return(response); } if (entUsuario.bActivo == true && entUsuario.bBaja == false) { //Validar datos y encriptar contraseña sólo si se trata de un guardado o actualización IMDResponse <bool> resValidaDatos = BValidaDatos(entUsuario); if (!resValidaDatos.Result) { return(resValidaDatos.GetResponse <EntUsuario>()); } if (!string.IsNullOrWhiteSpace(entUsuario.sPassword)) { entUsuario.sPassword = BEncodePassword(entUsuario.sPassword); } } IMDResponse <DataTable> resSaveUsuario = datUsuario.DSaveUsuario(entUsuario); if (resSaveUsuario.Code != 0) { return(resSaveUsuario.GetResponse <EntUsuario>()); } //Enviar credenciales por correo sólo si es un nuevo usuario, la contraseña ha sido actualizada, o se ha pasado de un estado SIN ACCESO a CON ACCESO if (bEnviarCredenciales && (entUsuario.iIdUsuario == 0 || !string.IsNullOrWhiteSpace(entUsuario.sPassword))) { List <string> users = new List <string> { entUsuario.sUsuario }; IMDResponse <bool> resEnviarCredenciales = this.BEnviarCredenciales(entUsuario.sCorreo, entUsuario.iIdUsuario == 0 ? EnumEmailActionPass.Crear : EnumEmailActionPass.Modificar, users); } IMDDataRow dr = new IMDDataRow(resSaveUsuario.Result.Rows[0]); entUsuario.iIdUsuario = dr.ConvertTo <int>("iIdUsuario"); response.Code = 0; response.Message = entUsuario.iIdUsuario == 0 ? "El usuario ha sido guardado correctamente." : !entUsuario.bActivo ? "El usuario ha sido eliminado correctamente." : "El usuario ha sido actualizado correctamente."; response.Result = entUsuario; } catch (Exception ex) { response.Code = 67823458345132; response.Message = "Ocurrió un error inesperado al guardar los datos del usuario."; logger.Error(IMDSerialize.Serialize(67823458345132, $"Error en {metodo}(EntUsuario entUsuario): {ex.Message}", entUsuario, ex, response)); } return(response); }
/// <summary> /// Valida los datos antes de guardar un usuario. /// </summary> /// <param name="entUsuario"></param> /// <returns></returns> public IMDResponse <bool> BValidaDatos(EntUsuario entUsuario) { IMDResponse <bool> response = new IMDResponse <bool>(); string metodo = nameof(this.BValidaDatos); logger.Info(IMDSerialize.Serialize(67823458345132, $"Inicia {metodo}(EntUsuario entUsuario)", entUsuario)); try { if (string.IsNullOrWhiteSpace(entUsuario.sNombres)) { response.Code = 67823458345132; response.Message = "El nombre del usuario no puede ser vacío"; response.Result = false; return(response); } if (entUsuario.iIdPerfil == 0) { response.Code = 67823458345132; response.Message = "No se ha especificado un perfil para el usuario."; response.Result = false; return(response); } if (entUsuario.bAcceso == true) { //Validar usuario sólo si se dan permisos de acceso al sistema if (string.IsNullOrWhiteSpace(entUsuario.sUsuario)) { response.Code = 67823458345132; response.Message = "El nombre de usuario de acceso no puede ser vacío."; response.Result = false; return(response); } } if (entUsuario.iIdUsuario == 0 && entUsuario.bAcceso == true) { //Validar usuario sólo si se trata de un nuevo registro con acceso al sistema response = datUsuario.DValidaUsuarioYCorreo(entUsuario.sUsuario, "", true); if (!response.Result) { response.Code = 67823458345132; response.Message = "Ya existe un usuario registrado con el nombre de usuario de acceso proporcionado."; response.Result = false; return(response); } } if (string.IsNullOrWhiteSpace(entUsuario.sPassword)) { if (entUsuario.iIdUsuario == 0 && entUsuario.bAcceso == true) { //Validar la contraseña sólo si es nuevo ingreso y la contraseña contiene valor response.Code = 67823458345132; response.Message = "La contraseña del usuario no puede ser vacío."; response.Result = false; return(response); } } if (string.IsNullOrWhiteSpace(entUsuario.sApellidoPaterno)) { response.Code = 67823458345132; response.Message = "El apellido paterno del usuario no puede ser vacío."; response.Result = false; return(response); } //if (entUsuario.sApellidoMaterno == "") //{ // response.Code = 67823458345132; // response.Message = "El apellido materno del usuario no puede ser vacio."; // response.Result = false; // return response; //} if (string.IsNullOrWhiteSpace(entUsuario.sCorreo)) { response.Code = 67823458345132; response.Message = "El correo del usuario no puede ser vacío."; response.Result = false; return(response); } if (entUsuario.iIdTipoCuenta == (int)EnumTipoCuenta.Titular) { if (entUsuario.iIdUsuario == 0 && entUsuario.bAcceso == true) { //Validar correo sólo a usuarios titulares nuevos con acceso al sistema response = datUsuario.DValidaUsuarioYCorreo("", entUsuario.sCorreo, false); if (!response.Result) { response.Code = 67823458345132; response.Message = "Ya existe un usuario registrado con el correo electrónico proporcionado."; response.Result = false; return(response); } } } response.Result = true; } catch (Exception ex) { response.Code = 67823458342024; response.Message = "Ocurrió un error al intentar validar los datos del usuario."; logger.Error(IMDSerialize.Serialize(67823458341247, $"Error en {metodo}(EntUsuario entUsuario): {ex.Message}", entUsuario, ex, response)); } return(response); }
/// <summary> /// Obtiene la lista de usuarios del sistema /// </summary> /// <param name="iIdUsuario"></param> /// <param name="iIdTipoCuenta"></param> /// <param name="iIdPerfil"></param> /// <param name="sUsuario"></param> /// <param name="sPassword"></param> /// <param name="bActivo"></param> /// <param name="bBaja"></param> /// <param name="psCorreo"></param> /// <returns></returns> public IMDResponse <List <EntUsuario> > BObtenerUsuario(int?iIdUsuario = null, int?iIdTipoCuenta = null, int?iIdPerfil = null, string sUsuario = null, string sPassword = null, bool?bActivo = null, bool?bBaja = null, string psCorreo = null) { IMDResponse <List <EntUsuario> > response = new IMDResponse <List <EntUsuario> >(); string metodo = nameof(this.BObtenerUsuario); logger.Info(IMDSerialize.Serialize(67823458362226, $"Inicia {metodo}(int? iIdUsuario, int? iIdTipoCuenta, int? iIdPerfil, string sUsuario, string sPassword, bool bActivo, bool bBaja)", iIdUsuario, iIdTipoCuenta, iIdPerfil, sUsuario, sPassword, bActivo, bBaja)); try { //Consultar usuarios IMDResponse <DataTable> dtUsuario = datUsuario.DObtenerUsuario(iIdUsuario, iIdTipoCuenta, iIdPerfil, sUsuario, sPassword, bActivo, bBaja, psCorreo); if (dtUsuario.Code != 0) { return(dtUsuario.GetResponse <List <EntUsuario> >()); } List <EntUsuario> lstUsuario = new List <EntUsuario>(); foreach (DataRow item in dtUsuario.Result.Rows) { IMDDataRow dr = new IMDDataRow(item); EntUsuario entUsuario = new EntUsuario(); entUsuario.iIdUsuario = dr.ConvertTo <int>("iIdUsuario"); entUsuario.iIdTipoCuenta = dr.ConvertTo <int>("iIdTipoCuenta"); entUsuario.sTipoCuenta = dr.ConvertTo <string>("sTipoCuenta"); entUsuario.iIdPerfil = dr.ConvertTo <int>("iIdPerfil"); entUsuario.sPerfil = dr.ConvertTo <string>("sPerfil"); entUsuario.sUsuario = dr.ConvertTo <string>("sUsuario"); entUsuario.sPassword = dr.ConvertTo <string>("sPassword"); entUsuario.sNombres = dr.ConvertTo <string>("sNombres"); entUsuario.sApellidoPaterno = dr.ConvertTo <string>("sApellidoPaterno"); entUsuario.sApellidoMaterno = dr.ConvertTo <string>("sApellidoMaterno"); entUsuario.dtFechaNacimiento = dr.ConvertTo <DateTime?>("dtFechaNacimiento"); entUsuario.sFechaNacimiento = entUsuario.dtFechaNacimiento?.ToString("dd/MM/yyyy"); entUsuario.dtFechaCreacion = dr.ConvertTo <DateTime>("dtFechaCreacion"); entUsuario.sFechaCreacion = entUsuario.dtFechaCreacion.ToString("dd/MM/yyyy HH:mm"); entUsuario.sTelefono = dr.ConvertTo <string>("sTelefono"); entUsuario.sCorreo = dr.ConvertTo <string>("sCorreo"); entUsuario.sDomicilio = dr.ConvertTo <string>("sDomicilio"); entUsuario.iIdUsuarioMod = dr.ConvertTo <int>("iIdUsuarioMod"); entUsuario.bAcceso = Convert.ToBoolean(dr.ConvertTo <int>("bAcceso")); entUsuario.bActivo = Convert.ToBoolean(dr.ConvertTo <int>("bActivo")); entUsuario.bBaja = Convert.ToBoolean(dr.ConvertTo <int>("bBaja")); lstUsuario.Add(entUsuario); } response.Message = "Los usuarios del sistema han sido obtenidos."; response.Result = lstUsuario; } catch (Exception ex) { response.Code = 67823458363003; response.Message = "Ocurrió un error inesperado al consultar los usuarios del sistema."; logger.Error(IMDSerialize.Serialize(67823458363003, $"Error en {metodo}(int? iIdUsuario, int? iIdTipoCuenta, int? iIdPerfil, string sUsuario, string sPassword, bool bActivo, bool bBaja): {ex.Message}", iIdUsuario, iIdTipoCuenta, iIdPerfil, sUsuario, sPassword, bActivo, bBaja, ex, response)); } return(response); }
/// <summary> /// Guarda un colaborador y sus respectivas cuentas en el CGU /// </summary> /// <param name="entCreateColaborador"></param> /// <returns></returns> public IMDResponse <bool> BSaveColaborador(EntCreateColaborador entCreateColaborador) { IMDResponse <bool> response = new IMDResponse <bool>(); string metodo = nameof(this.BSaveColaborador); logger.Info(IMDSerialize.Serialize(67823458457797, $"Inicia {metodo}(EntCreateColaborador entCreateColaborador)", entCreateColaborador)); try { if (entCreateColaborador == null) { response.Code = 76823456345; response.Message = "No se ingresó información del colaborador."; return(response); } if (entCreateColaborador.iIdTipoDoctor == (int)EnumTipoDoctor.MedicoCallCenter || entCreateColaborador.iIdTipoDoctor == (int)EnumTipoDoctor.MedicoAdministrativo) { EntUsuario entUsuario = new EntUsuario { bActivo = entCreateColaborador.bActivo, bBaja = entCreateColaborador.bBaja, dtFechaNacimiento = entCreateColaborador.dtFechaNacimientoDoctor, iIdPerfil = entCreateColaborador.bAdministrador ? (int)EnumPerfilPrincipal.DoctorAdministrador : (int)EnumPerfilPrincipal.DoctorCallCenter, iIdTipoCuenta = (int)EnumTipoCuenta.Titular, iIdUsuario = entCreateColaborador.iIdUsuarioCGU, iIdUsuarioMod = entCreateColaborador.iIdUsuarioMod, sApellidoMaterno = entCreateColaborador.sApellidoMaternoDoctor, sApellidoPaterno = entCreateColaborador.sApellidoPaternoDoctor, sCorreo = entCreateColaborador.sCorreoDoctor, sDomicilio = entCreateColaborador.sDomicilioDoctor, sNombres = entCreateColaborador.sNombresDoctor, sPassword = entCreateColaborador.sPasswordTitular, sTelefono = entCreateColaborador.sTelefonoDoctor, sUsuario = entCreateColaborador.sUsuarioTitular, bAcceso = entCreateColaborador.bAcceso }; //Doctores callcenter o administrativos, sólo guardar usuario y colaborador IMDResponse <EntUsuario> respuestaGuardarUsuarioCGU = busUsuario.BSaveUsuario(entUsuario, true); if (respuestaGuardarUsuarioCGU.Code != 0) { return(respuestaGuardarUsuarioCGU.GetResponse <bool>()); } entCreateColaborador.iIdEspecialidad = (int)EnumEspecialidadPrincipal.MedicinaGeneral; entCreateColaborador.iIdUsuarioCGU = (int)respuestaGuardarUsuarioCGU.Result.iIdUsuario; entCreateColaborador.iIdTipoCuenta = (int)EnumTipoCuenta.Titular; entCreateColaborador.iIdTipoDoctor = entCreateColaborador.bAdministrador ? (int)EnumTipoDoctor.MedicoAdministrativo : entCreateColaborador.iIdTipoDoctor; IMDResponse <bool> respuestaGuardarColaborador = datColaborador.DSaveColaborador(entCreateColaborador); if (respuestaGuardarColaborador.Code != 0) { return(respuestaGuardarColaborador); } } else if (entCreateColaborador.iIdTipoDoctor == (int)EnumTipoDoctor.MedicoEspecialista) { if (entCreateColaborador.bActivo && !entCreateColaborador.bBaja) { if (entCreateColaborador.iIdEspecialidad == 0) { response.Code = -876862348762374; response.Message = "No se ha especificado la especialidad del médico colaborador."; return(response); } if (string.IsNullOrWhiteSpace(entCreateColaborador.sUsuarioAdministrativo) && entCreateColaborador.bAcceso) { response.Code = -7234869627782; response.Message = "No se han especificado los datos de cuenta administrativa."; return(response); } if (entCreateColaborador.iIdColaborador == 0 && string.IsNullOrWhiteSpace(entCreateColaborador.sPasswordAdministrativo) && entCreateColaborador.bAcceso) { response.Code = -324778287623; response.Message = "No se han especificado los datos de cuenta administrativa."; return(response); } } //Generar usuario titular y administrativo EntUsuario entUsuarioTitular = new EntUsuario { bActivo = entCreateColaborador.bActivo, bBaja = entCreateColaborador.bBaja, dtFechaNacimiento = entCreateColaborador.dtFechaNacimientoDoctor, iIdPerfil = (int)EnumPerfilPrincipal.DoctorEspecialista, iIdTipoCuenta = (int)EnumTipoCuenta.Titular, iIdUsuario = entCreateColaborador.iIdUsuarioCGU, iIdUsuarioMod = entCreateColaborador.iIdUsuarioMod, sApellidoMaterno = entCreateColaborador.sApellidoMaternoDoctor, sApellidoPaterno = entCreateColaborador.sApellidoPaternoDoctor, sCorreo = entCreateColaborador.sCorreoDoctor, sDomicilio = entCreateColaborador.sDomicilioDoctor, sNombres = entCreateColaborador.sNombresDoctor, sPassword = entCreateColaborador.sPasswordTitular, sTelefono = entCreateColaborador.sTelefonoDoctor, sUsuario = entCreateColaborador.sUsuarioTitular, bAcceso = entCreateColaborador.bAcceso }; EntUsuario entUsuarioAdministrativo = new EntUsuario { bActivo = entCreateColaborador.bActivo, bBaja = entCreateColaborador.bBaja, dtFechaNacimiento = entCreateColaborador.dtFechaNacimientoDoctor, iIdPerfil = (int)EnumPerfilPrincipal.AdministradorEspecialista, iIdTipoCuenta = (int)EnumTipoCuenta.Administrativa, iIdUsuario = entCreateColaborador.iIdUsuarioCGU, iIdUsuarioMod = entCreateColaborador.iIdUsuarioMod, sApellidoMaterno = entCreateColaborador.sApellidoMaternoDoctor, sApellidoPaterno = entCreateColaborador.sApellidoPaternoDoctor, sCorreo = entCreateColaborador.sCorreoDoctor, sDomicilio = entCreateColaborador.sDomicilioDoctor, sNombres = entCreateColaborador.sNombresDoctor, sPassword = entCreateColaborador.sPasswordAdministrativo, sTelefono = entCreateColaborador.sTelefonoDoctor, sUsuario = entCreateColaborador.sUsuarioAdministrativo, bAcceso = entCreateColaborador.bAcceso }; if (entUsuarioTitular.sUsuario == entUsuarioAdministrativo.sUsuario && !string.IsNullOrWhiteSpace(entUsuarioTitular.sUsuario) && !string.IsNullOrWhiteSpace(entUsuarioAdministrativo.sUsuario)) { response.Code = -2345674657; response.Message = "El usuario titular no puede ser el mismo que el usuario administrativo."; return(response); } //Validar que los datos y disponibilidad de nombre de usuario de ambas cuentas antes de guardar if (entCreateColaborador.bActivo && !entCreateColaborador.bBaja) { IMDResponse <bool> resValidacionTitular = busUsuario.BValidaDatos(entUsuarioTitular); if (resValidacionTitular.Code != 0) { return(resValidacionTitular); } IMDResponse <bool> resValidacionAdministrativo = busUsuario.BValidaDatos(entUsuarioAdministrativo); if (resValidacionAdministrativo.Code != 0) { return(resValidacionAdministrativo); } } //Verificar si hay que enviar las credenciales por correo de ambas cuentas bool activacionUsuario = false; if (entCreateColaborador.bAcceso) { if (entCreateColaborador.iIdColaborador != 0) { IMDResponse <List <EntColaborador> > resGetColaborador = this.BGetColaborador(entCreateColaborador.iIdColaborador); if (resGetColaborador.Code == 0) { if (resGetColaborador.Result.Count == 1) { EntColaborador colaborador = resGetColaborador.Result.First(); if (!colaborador.bAcceso) { activacionUsuario = true; } } } } } //Guardar para obtener el id de usuario de ambas cuentas en el CGU IMDResponse <EntUsuario> respuestaGuardarUsuarioCGU = busUsuario.BSaveUsuario(entUsuarioTitular); if (respuestaGuardarUsuarioCGU.Code != 0) { return(respuestaGuardarUsuarioCGU.GetResponse <bool>()); } entCreateColaborador.iIdUsuarioCGU = (int)respuestaGuardarUsuarioCGU.Result.iIdUsuario; entCreateColaborador.iIdTipoCuenta = (int)EnumTipoCuenta.Titular; entUsuarioAdministrativo.iIdUsuario = respuestaGuardarUsuarioCGU.Result.iIdUsuario; respuestaGuardarUsuarioCGU = busUsuario.BSaveUsuario(entUsuarioAdministrativo); if (respuestaGuardarUsuarioCGU.Code != 0) { return(respuestaGuardarUsuarioCGU.GetResponse <bool>()); } //Guardar la cueta de colaborador IMDResponse <bool> respuestaGuardarColaborador = datColaborador.DSaveColaborador(entCreateColaborador); if (respuestaGuardarColaborador.Code != 0) { return(respuestaGuardarColaborador); } if (entCreateColaborador.bAcceso) { if ((entCreateColaborador.bActivo && !entCreateColaborador.bBaja && (!string.IsNullOrWhiteSpace(entCreateColaborador.sPasswordTitular) || !string.IsNullOrWhiteSpace(entCreateColaborador.sPasswordAdministrativo))) || activacionUsuario) { List <string> users = new List <string> { entCreateColaborador.sUsuarioTitular, entCreateColaborador.sUsuarioAdministrativo }; IMDResponse <bool> resEnviarCredenciales = busUsuario.BEnviarCredenciales(entCreateColaborador.sCorreoDoctor, entCreateColaborador.iIdColaborador == 0 || activacionUsuario ? EnumEmailActionPass.Crear : EnumEmailActionPass.Modificar, users); } } } else { response.Code = -72348767232323; response.Message = "No se ha especificado el tipo de médico colaborador."; return(response); } response.Code = 0; response.Message = "El colaborador ha sido guardado correctamente."; response.Result = true; } catch (Exception ex) { response.Code = 67823458458574; response.Message = "Ocurrió un error inesperado al guardar el colaborador."; logger.Error(IMDSerialize.Serialize(67823458458574, $"Error en {metodo}(EntCreateColaborador entCreateColaborador): {ex.Message}", entCreateColaborador, ex, response)); } return(response); }
//guarda y actualiza public void Guarda() { EntUsuario entUser = new EntUsuario(); BrConfiguracion ped = new BrConfiguracion(); try { totRequeridos = 3; //contabilizaYValidaRequerido(TxtUsuario); contabilizaYValidaRequerido(TxtNombre); contabilizaYValidaRequerido(TxtCorreo); contabilizaYValidaRequerido(CmbArea); //contabilizaYValidaRequerido(CmbPerfil); if (totRequeridos > 0) { messageBox = new avisosis(totRequeridos == 1 ? (string.Format("¡El campo {0} es obligatorio!", ControlInvalido)) : "Los campos son obligatorios", this.Title, MessageBoxButton.OK, MessageBoxImage.Warning); messageBox.ShowDialog(); return; } //if (!ValidaBusqOpcionalConMensaje(TxtEmpOri, LblEmpresaOrigen)) // return; //enttrM.Aviavii = Convert.ToInt32(TxtAviso.Text); if (ActIns == Comunes.AGREGA) { entUser.IdUsuarioRegistro = App.IdUsuario; entUser.ActivoTexto = "Si"; } else { entUser.FechaModifico = Convert.ToString(DateTime.Today); entUser.IdUsuarioModifico = App.IdUsuario; entUser.IdUsuario = EntUser.IdUsuario; entUser.ActivoTexto = EntUser.ActivoTexto; } entUser.Usuario = TxtUsuario.Text; entUser.Nombre = TxtNombre.Text; entUser.Clave = BREncripcion.encript2(txtContrasena.Password); entUser.Origen = area.Abreviatura; entUser.IdArea = area.IdArea; entUser.Area = area.Area; entUser.CorreoElectronico = TxtCorreo.Text; //entUser.IdPerfil = perf.IdPerfil; entUser.IdPerfil = IdPerfil; Respuesta <int> res = ped.InsUpdUsuarios(entUser, ActIns, "A"); if (bandera == 1) { if (res.EsExitoso) { //Actualizacion del Grid Generico Editando = false; messageBox = new avisosis("Se ha " + (ActIns == Comunes.AGREGA ? " agregado " : ActIns == Comunes.CAMBIA ? " actualizado " : " eliminado ") + " correctamente el usuario", this.Title, MessageBoxButton.OK, MessageBoxImage.None); messageBox.ShowDialog(); frmCatologoGenerico.AcutualizaGrid <EntUsuario>(entUser); if (!cerrando) { this.Close(); } } else { messageBox = new avisosis("Error al " + (ActIns == Comunes.AGREGA ? " agregar " : ActIns == Comunes.CAMBIA ? " actualizar " : " eliminar ") + res.Error, this.Title, MessageBoxButton.OK, MessageBoxImage.Error); messageBox.ShowDialog(); } } } catch (Exception ex) { messageBox = new avisosis(ex, this.Title, MessageBoxButton.OK, MessageBoxImage.Error); messageBox.ShowDialog(); } }