/// <summary> /// Método para ir a la ventana para notificar /// </summary> public void irnotificara() { WNotificarA notificara = new WNotificarA(); string body = "<BR><FONT size=2 face=Helv><FONT size=2 face=Helv>"; body += "<P><P> Para notificar que ya está disponible el archivo con los herramentales a verificar de este año " + DateTime.Now.Year + ", </P></P>"; body += "<P> el cual se hizo el análisis de acuerdo al pronóstico de producción de este año el cual fue compartido por logística así </P>"; body += "<P> como los herramentales establecidos en el procedimiento <STRONG>W-3571-49282-es.</STRONG></P>"; body += "<P> Dicho archivo se encuentra en la siguiente ruta:</P>"; body += "<BR><P> " + rutaArchivo + "</P>"; body += "<P>Cualquier duda quedo a sus órdenes.</P></FONT></FONT>"; // Declaramos un objeto tipo archivo Archivo documento = new Archivo(); // Le asignamos valores documento.nombre = nombreArchivoSalida; documento.ruta = rutaArchivo; documento.rutaIcono = @"/Images/E.jpg"; // Declaramos lista tipo Archivo ObservableCollection <Archivo> ListaDoc = new ObservableCollection <Archivo>(); // Insertamos el objeto a la lista ListaDoc.Add(documento); NotificarAViewModel vwnotifa = new NotificarAViewModel(ModelUsuario, body, ListaDoc, new List <objUsuario>(), "Listado de Verificación Anual " + DateTime.Now.Year, "VERIFICACION_ANUAL", 0); notificara.DataContext = vwnotifa; notificara.ShowDialog(); }
public async void guardarUsuario() { //Incializamos los servicios de dialog. DialogService dialog = new DialogService(); //Declaramos un objeto de tipo MetroDialogSettings al cual le asignamos las propiedades que contendra el mensaje modal. MetroDialogSettings setting = new MetroDialogSettings(); setting.AffirmativeButtonText = StringResources.lblYes; setting.NegativeButtonText = StringResources.lblNo; //Ejecutamos el método para mostrar el mensaje. El resultado lo asignamos a una variable local. MessageDialogResult result = await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgConfirmacion, setting, MessageDialogStyle.AffirmativeAndNegative); if (result == MessageDialogResult.Affirmative) { //Valida que los campos no estén vacíos. if (Validar() & ValidarSelected()) { // Asignamos el valor de la constraseña random _contraseña = this.GenerarPasswordAleatoria(); if (_contraseña.Length >= 6) { //Declaramos un objeto con el cual se realiza la encriptación Encriptacion encriptar = new Encriptacion(); //Declaramos un objeto de tipo usuarios objUsuario objUsuario = new objUsuario(); //Asignamos los valores al objeto objUsuario.usuario = encriptar.encript(_usuario); objUsuario.nombre = _nombre; objUsuario.APaterno = _aPaterno; objUsuario.AMaterno = _aMaterno; objUsuario.password = encriptar.encript(_contraseña); objUsuario.Correo = Correo; objUsuario.Pathnsf = ""; //datos por default objUsuario.usql = "´©³¶´¦³"; objUsuario.psql = "´‰“sqrr"; //Valida que el nombre de usuario no se repita string validate = DataManagerControlDocumentos.ValidateUsuario(objUsuario); //si no se repite if (validate == null) { // Nos aseguramos que sean iguales _confirmarContraseña = _contraseña; //si las contraseñas son iguales if (_contraseña.Equals(_confirmarContraseña)) { //ejecutamos el método para insertar un registro a la tabla string usuario = DataManagerControlDocumentos.SetUsuario(objUsuario); // Declaramos la ruta para asignarle una foto de usuario por default string url_foto = @"\\MXAGSQLSRV01\documents__\ESPECIFICOS\img\defaultuser.jpg"; // Declaramos valor para el campo bool is_available_email = true; bool temporal_password = true; // Ejecutamos el método para insertar los registros a la tabla TBL_USER_DETAILS DataManagerControlDocumentos.Insert_UserDetail(objUsuario.usuario, url_foto, is_available_email, temporal_password); Usuario _usuario = new Usuario(); _usuario.NombreUsuario = usuario; //si el usuario es diferente de vacío if (usuario != string.Empty) { //Recorremos la lista de roles foreach (var item in _listaRol) { //si el rol fue seleccionado if (item.selected == true) { Model.ControlDocumentos.Rol objRol = new Model.ControlDocumentos.Rol(); objRol.id_rol = item.id_rol; objRol.id_usuario = usuario; //Agregamos el rol de cada usuario int id_rolUsuario = DataManagerControlDocumentos.SetRol_Usuario(objRol); } } //Obtenemos los roles del usuario nuevo IList Roles = DataManager.GetRoles(_usuario.NombreUsuario); _usuario.Roles = new List <Model.Rol>(); foreach (var item in Roles) { System.Type tipo = item.GetType(); Model.Rol rol = new Model.Rol(); rol.idRol = (int)tipo.GetProperty("ID_ROL").GetValue(item, null); rol.NombreRol = (string)tipo.GetProperty("NOMBRE_ROL").GetValue(item, null); //los agregamos a la propiedad de roles _usuario.Roles.Add(rol); } //si el usuario tiene rol de administrador de CIT o dueño de documento if (Module.UsuarioIsRol(_usuario.Roles, 2) || Module.UsuarioIsRol(_usuario.Roles, 3)) { //usuario es admin del cit o dueño del documento _usuario.PerfilCIT = true; } //si el usuario tiene rol de ingeniero if (Module.UsuarioIsRol(_usuario.Roles, 4) || Module.UsuarioIsRol(_usuario.Roles, 5) || Module.UsuarioIsRol(_usuario.Roles, 6) || Module.UsuarioIsRol(_usuario.Roles, 7)) { //usuario tiene rol de ingeniero _usuario.PerfilUserProfile = true; _usuario.PerfilData = true; _usuario.PerfilQuotes = true; _usuario.PerfilRawMaterial = true; _usuario.PerfilStandarTime = true; _usuario.PerfilTooling = true; _usuario.PerfilRGP = true; } //si el usuario tiene rol de administrador del sistema if (Module.UsuarioIsRol(_usuario.Roles, 1)) { //Es administrador _usuario.PerfilCIT = true; _usuario.PerfilData = true; _usuario.PerfilHelp = true; _usuario.PerfilQuotes = true; _usuario.PerfilRawMaterial = true; _usuario.PerfilStandarTime = true; _usuario.PerfilTooling = true; _usuario.PerfilUserProfile = true; _usuario.PerfilRGP = true; } //agregamos los perfiles y privilegios correspondientes DataManager.Set_PerfilUsuario(_usuario); DataManager.Set_PrivilegiosUsuario(_usuario); //se muestra un mensaje de cambios realizados. await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgUsuarioAlta); //Obtenemos la ventana actual. var window = Application.Current.Windows.OfType <MetroWindow>().LastOrDefault(); //Verificamos que la pantalla sea diferente de nulo. if (window != null) { //Cerramos la pantalla window.Close(); } // Declaramos el cuerpo y título del correo string title = "Tu usuario ha sido creado"; string body = ""; // Declaramos lista vacía para el parámetro ObservableCollection <Archivo> ListaVacia = new ObservableCollection <Archivo>(); // Declaramos el objeto Usuario UserCreated = new Usuario(); // Obtenemos el nuevo usuario creado UserCreated = DataManager.GetUsuario(objUsuario.usuario); // Declaramos lista para guardar el nuevo usuario List <objUsuario> ListaUserCreated = new List <objUsuario>(); objUsuario userCreado = new objUsuario(); // Igualamos valores userCreado.Correo = UserCreated.Correo; userCreado.nombre = UserCreated.Nombre; userCreado.APaterno = UserCreated.ApellidoPaterno; userCreado.AMaterno = UserCreated.ApellidoMaterno; userCreado.Details = UserCreated.Details; ListaUserCreated.Add(userCreado); // Cargamos el cuerpo del correo body = "<P> Le envío su usuario y contraseña:</P>"; body += "<P><STRONG> Usuario:</STRONG> " + encriptar.desencript(_usuario.NombreUsuario) + "</P>"; body += "<P><STRONG> Contraseña:</STRONG> " + _contraseña + "</P>"; body += "<P> Favor de respetar minúsculas y mayúsculas.</P>"; body += "<P> Para el acceso a la plataforma, favor de ingresar a la siguiente ruta:</P>"; body += "<P><STRONG> TodosP/R@aul/Deploy</STRONG></P>"; body += "<P> En dicha carpeta se encuentra un archivo llamado View.exe. Favor de ejecutarlo.</P>"; // Abrimos ventana para notificar NotificarAViewModel vmNotificar = new NotificarAViewModel(User, body, ListaVacia, ListaUserCreated, title, "ALTA_USUARIO", 0); WNotificarA ventanaCorreo = new WNotificarA(); ventanaCorreo.DataContext = vmNotificar; ventanaCorreo.ShowDialog(); } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgUsuarioAltaError); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaDiferente); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgUsuarioExistente); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaCorta); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgFillFlields); } } }