Пример #1
0
        /// <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;
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        /// <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;
            }
        }