public PreferencesService(SessionMemberInfoDTO sessionMemberInfo)
 {
     preferencesDAO  = new PreferencesDAO(sessionMemberInfo);
     memberInfo      = sessionMemberInfo;
     resourceManager = new ResourceManager("Resources.Resource", Assembly.Load("App_GlobalResources"));
     cultureInfo     = new CultureInfo(memberInfo.lang, false);
 }
        public TransactionResultDTO updatePasswordPreferences(PasswordPreferencesDTO passwordPreferences)
        {
            TransactionResultDTO result = new TransactionResultDTO();

            try
            {
                MembersDAO membersDAO    = new MembersDAO();
                Member     enMember      = membersDAO.getMember(memberInfo.id);
                string     savedPassword = enMember.password;
                string     newPassword   = Encoding.sha512(enMember.email, passwordPreferences.actualPassword);

                // If the saved password is the same than the 'actualPassword' sent, continue update
                if (savedPassword == newPassword)
                {
                    PreferencesDAO preferencesDAO = new PreferencesDAO(memberInfo);

                    // Overwrite the member new password with more secure one
                    passwordPreferences.newPassword = Encoding.sha512(enMember.email, passwordPreferences.newPassword);

                    preferencesDAO.updatePasswordPreferences(passwordPreferences);

                    result.code = TransactionResultDTO.transactionResultCode.Success;
                }
                else
                {
                    result.code          = TransactionResultDTO.transactionResultCode.Failed;
                    result.failureReason = "ErrorContrasenaActualIncorrecta";
                    return(result);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(result);
        }