/// <summary> /// Modifica la password dell'utente /// </summary> /// <param name="userId"></param> /// <returns></returns> public bool ResetPassword(Guid userId) { try { // recupero l'utente var updUser = _fomMonitoringEntities.Set <Users>().SingleOrDefault(s => s.ID == userId); if (updUser == null) { return(false); // not found } // resetto password utente var defaultPassword = ApplicationSettingService.GetWebConfigKey("DefaultPassword"); updUser.Password = _loginServices.EncryptPassword(defaultPassword); _fomMonitoringEntities.SaveChanges(); return(true); } catch (Exception ex) { var errMessage = ex.GetStringLog(); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); throw ex; } }
public bool SendPassword(string email, Guid id, string keySubject, string keyObject) { var result = true; try { var user = _fomMonitoringEntities.Set <Users>().AsNoTracking().FirstOrDefault(u => u.ID == id); if (user == null) { return(false); } var subject = LocalizationService.GetResource(keySubject, new CultureInfo(user.Languages.DotNetCulture)) + " " + user.Username; var ruolo = _fomMonitoringEntities.Set <Roles_Users>().FirstOrDefault()?.Roles.Description; var idRuolo = user.Roles_Users.First().Roles.IdRole; switch (idRuolo) { case 1: ruolo = LocalizationService.GetResource($"Operator", new CultureInfo(user.Languages.DotNetCulture)); break; case 2: ruolo = LocalizationService.GetResource($"HeadWorkshop", new CultureInfo(user.Languages.DotNetCulture)); break; } var firstPart = LocalizationService.GetResource($"{keyObject}_FirstPart", new CultureInfo(user.Languages.DotNetCulture)) .Replace("[TIPO_USER]", ruolo); var footer = LocalizationService.GetResource($"{keyObject}_Footer", new CultureInfo(user.Languages.DotNetCulture)); var usernameLabel = LocalizationService.GetResource($"{keyObject}_UsernameLabel", new CultureInfo(user.Languages.DotNetCulture)); var passwordLabel = LocalizationService.GetResource($"{keyObject}_PasswordLabel", new CultureInfo(user.Languages.DotNetCulture)); var lastPart = LocalizationService.GetResource($"{keyObject}_LastPart", new CultureInfo(user.Languages.DotNetCulture)) .Replace("[TIPO_USER]", ruolo); var modelEmail = new Renderer.EmailChangedPasswordDto { FirstPart = firstPart, Username = user.Username, Password = _loginServices.DecryptPassword(user.Password), FooterText = footer, UsernameLabel = usernameLabel, PasswordLabel = passwordLabel, LastPart = lastPart }; var body = Renderer.RazorViewToString.RenderRazorEmailChangedPasswordViewToString(modelEmail); var message = new MailMessage(ApplicationSettingService.GetWebConfigKey("EmailFromAddress"), email, subject, body) { IsBodyHtml = true }; EmailSender.SendEmail(message); return(true); } catch (Exception ex) { var errMessage = ex.GetStringLog(); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); result = false; } return(result); }
/// <summary> /// Aggiunge un nuovo utente /// </summary> /// <param name="user"></param> /// <returns></returns> public Guid CreateUser(UserModel user) { try { var usernameUser = _fomMonitoringEntities.Set <Users>().FirstOrDefault(w => w.Username == user.Username); if (usernameUser != null) { throw new InvalidOperationException(Resource.UsernameExists); } // creo il nuovo utente var defaultPassword = ApplicationSettingService.GetWebConfigKey("DefaultPassword"); if (user.Password != null) { defaultPassword = user.Password; } var addUser = new Users { ID = Guid.NewGuid(), Username = user.Username, FirstName = user.FirstName, LastName = user.LastName, CompanyName = user.CompanyName, Email = user.Email, LanguageID = user.Language?.ID, Enabled = user.Enabled, Password = _loginServices.EncryptPassword(defaultPassword), LastDateUpdatePassword = user.LastDateUpdatePassword, TimeZone = user.TimeZone }; // user language if (addUser.LanguageID == null) { var defaultLanguage = ApplicationSettingService.GetWebConfigKey("DefaultLanguage"); addUser.LanguageID = Guid.Parse(defaultLanguage); } _fomMonitoringEntities.Set <Users>().Add(addUser); _fomMonitoringEntities.SaveChanges(); // Add user role var newRole = _fomMonitoringEntities.Set <Roles>().FirstOrDefault(f => f.IdRole == (int)user.Role); if (newRole != null) { addUser.Roles_Users.Add(new Roles_Users() { ID = Guid.NewGuid(), UserID = addUser.ID, RoleID = newRole.ID }); } // Add user customer _fomMonitoringEntities.Set <UserCustomerMapping>().Add(new UserCustomerMapping() { UserId = addUser.ID, CustomerName = user.CustomerName }); // Add user machines if (user.Machines != null && user.Machines.Any()) { foreach (var machine in user.Machines) { _fomMonitoringEntities.Set <UserMachineMapping>().Add(new UserMachineMapping() { UserId = addUser.ID, MachineId = machine.Id }); } } _fomMonitoringEntities.SaveChanges(); return(addUser.ID); } catch (Exception ex) { var errMessage = ex.GetStringLog(); LogService.WriteLog(errMessage, LogService.TypeLevel.Error, ex); throw ex; } }