コード例 #1
0
ファイル: User.cs プロジェクト: Saaka/DietShopper
 private void ValidateUserGuid()
 {
     if (UserGuid.Equals(Guid.Empty))
     {
         throw new DomainException(ErrorCode.UserGuidRequired);
     }
 }
コード例 #2
0
        public async Task <IActionResult> AccountConfirm(int id, string guid)
        {
            var result = await RepositoryBuilder.AuthRepository.ActionQueueAsync(async i =>
            {
                UserGuid ug = await i.GetUserGuideByIdAsync(id);
                if (ug == null || ug.UserId == null)
                {
                    return(false);
                }

                User us = await i.GetObjByIdAsync((int)ug.UserId);
                if (us == null)
                {
                    return(false);
                }

                if (PasswdHesh.VerifyPasswd(ug, guid))
                {
                    us.Active = true;
                    await Authenticate(us);
                    await i.DeleteUserGuideAsync(id);
                    return(true);
                }

                return(false);
            }, true);

            if (!result)
            {
                return(GetHelloView(new MsgVue("Ссылка недействительна!")));
            }

            return(RedirectToAction("Index", "Main"));
        }
コード例 #3
0
 private Dictionary <string, string> GetPropertiesDictionary()
 {
     return(new Dictionary <string, string>
     {
         { "UserGuid", UserGuid.ToString() },
         { "SessionGuid", SessionGuid.ToString() },
     });
 }
コード例 #4
0
        public async Task <IActionResult> Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var      newUser    = (User)model;
                UserGuid usg        = new UserGuid();
                string   guideValue = "";
                var      result     = await RepositoryBuilder.AuthRepository.ActionQueueAsync(async i =>
                {
                    User user = await i.GetUserByEmailAsync(model.Email, false);
                    if (user == null)
                    {
                        User nConfirmUs = await i.GetUserByEmailAsync(model.Email, false, false);
                        if (nConfirmUs != null)
                        {
                            await i.DeleteUserGuideInUserIdAsync(nConfirmUs.Id);
                            await i.DeleteObjAsync(nConfirmUs.Id);
                            await i.SaveChangesAsync();
                        }

                        PasswdHesh.SetHeshContSalt(newUser, newUser.Password);
                        await i.AddObjAsync(newUser);

                        usg.UserId = newUser.Id;
                        Guid uguid = Guid.NewGuid();
                        guideValue = uguid.ToString();
                        PasswdHesh.SetHeshContSalt(usg, guideValue);
                        await i.AddUserGuideAsync(usg);

                        return(true);
                    }
                    else
                    {
                        ModelState.AddModelError("err", "Такой пользователь уже существует!");
                        return(false);
                    }
                }, true);

                if (result)
                {
                    var task = MailSender.SendMessage(
                        newUser.Email,
                        "Подтверждение почты для учётной записи.",
                        $"https://{HttpContext.Request.Host.Value.ToString()}/Account/AccountConfirm?id={usg.Id}&guid={guideValue}".TegLinq());

                    return(GetHelloView(new MsgVue("В течении 5 минут на указанную почту поступит письмо для подтверждения аккаунта!")));
                }
                else
                {
                    return(GetHelloView(new MsgVue("Не правильно введены данные", ModelState.Root.Children)));
                }
            }

            return(GetHelloView(new MsgVue("Не правильно введены данные. Дополнительная информация в форме регистрации!", ModelState.Values)));
        }
コード例 #5
0
 public IHttpActionResult Login([FromBody] User user)
 {
     try
     {
         userService.Login(user);
         string guid = UserGuid.GetGuidByUsername(user.Username);
         if (guid == string.Empty)
         {
             return(NotFound());
         }
         return(Ok(guid));
     }
     catch (Exception)
     {
         return(Unauthorized());
     }
 }
コード例 #6
0
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            using (new TimedLog(UserGuid.ToString(), "Activity: Get User Setting"))
            {
                var userSetting = DatabaseHelper.GetSingle <UserSetting, Guid>(DatabaseHelper.SubsystemEnum.User,
                                                                               this.UserGuid, LinqQueries.CompiledQuery_GetUserSettingByUserGuid);

                if (userSetting == default(UserSetting))
                {
                    // No setting saved before. Create default setting

                    userSetting = DatabaseHelper.Insert <UserSetting>(DatabaseHelper.SubsystemEnum.User,
                                                                      (newSetting) =>
                    {
                        newSetting.UserId        = UserGuid;
                        newSetting.CreatedDate   = DateTime.Now;
                        newSetting.CurrentPageId = DatabaseHelper.GetQueryResult <int, Guid, int>(
                            DatabaseHelper.SubsystemEnum.Page,
                            this.UserGuid, LinqQueries.CompiledQuery_GetPageIdByUserGuid,
                            (query) => query.First <int>());
                    });
                }

                this.UserSetting = userSetting;

                // Get users current page and if not available, get the first page
                this.CurrentPage = DatabaseHelper.GetSingle <Page, int>(DatabaseHelper.SubsystemEnum.Page,
                                                                        userSetting.CurrentPageId, LinqQueries.CompiledQuery_GetPageById)
                                   ?? DatabaseHelper.GetQueryResult <Page, Guid, Page>(
                    DatabaseHelper.SubsystemEnum.Page,
                    this.UserGuid, LinqQueries.CompiledQuery_GetPagesByUserId,
                    (query) => query.First <Page>());

                return(ActivityExecutionStatus.Closed);
            }
        }
コード例 #7
0
        public async Task <bool> AddUserGuideAsync(UserGuid ug)
        {
            await DBContext.UserGuids.AddAsync(ug);

            return(true);
        }
コード例 #8
0
ファイル: MoveModel.cs プロジェクト: navarretek/chess
 public override string ToString()
 {
     return($"User: {UserGuid.ToString()} - Match: {MatchGuid.ToString()} - Move: {Move} -");
 }
コード例 #9
0
        public void Save()
        {
            try
            {
                using (var r = UserAppDataRegistryForWriting)
                {
                    SetBoolean(r, "AutoStart", AutoStart);

                    SetBoolean(r, "AutoMinimize", AutoMinimize);

                    //SetBoolean(r, "DetailedErrorResponse", DetailedErrorResponse);

                    SetBoolean(r, "BindToWorld", BindToWorld);

                    SetEnum(r, "UsePlainTextConverterEnum", UsePlainTextConverter);

                    SetBoolean(r, "PostsAreAlwaysFormatFlowed", PostsAreAlwaysFormatFlowed);

                    SetInt32(r, "Port", Port);

                    SetInt32(r, "ListPageSize", ListPageSize);

                    SetInt32(r, "ArticlePageSize", ArticlePageSize);

                    SetString(r, "DomainName", DomainName);

                    SetString(r, "UserEmail", UserEmail);

                    SetString(r, "UserName", UserName);

#if LIVECONNECT
                    SetString(r, "ClientId", ClientId);
                    SetString(r, "RefreshToken", RefreshToken);
                    SetString(r, "Scopes", Scopes);
#else
                    SetString(r, "AuthenticationBlob", AuthenticationBlob);
#endif

                    SetInt32(r, "AutoLineWrap", AutoLineWrap);

                    SetString(r, "EncodingForClient", EncodingForClient);

                    SetString(r, "UserGuid", UserGuid.ToString());

                    SetEnum(r, "InMimeUse", InMimeUse);

                    SetBoolean(r, "UseAnswersForums", UseAnswersForums);

                    SetBoolean(r, "UseSocialForums", UseSocialForums);

                    SetString(r, "UserDefinedTags", UserDefinedTags.GetString());

                    SetString(r, "UserMappings", UserMappings.GetString());

                    SetBoolean(r, "DisableUserAgentInfo", DisableUserAgentInfo);

                    SetBoolean(r, "DisableLISTGROUP", DisableLISTGROUP);

                    SetBoolean(r, "ShowUserNamePostfix", ShowUserNamePostfix);

                    SetInt32(r, "TabAsSpace", TabAsSpace);

                    SetBoolean(r, "AddHistoryToArticle", AddHistoryToArticle);

                    SetEnum(r, "UseAppInsights", UseAppInsights);
                }
            }
            catch (Exception exp)
            {
                Traces.Main_TraceEvent(TraceEventType.Critical, 1, "Error saving settings to the registry: {0}", NNTPServer.Traces.ExceptionToString(exp));
            }
        }
コード例 #10
0
ファイル: UserThread.cs プロジェクト: awsker/a-link
 public byte[] GetBytes()
 {
     return(PacketHelper.ConcatBytes(UserGuid.ToByteArray(), PacketHelper.GetStringBytes(Username)));
 }
コード例 #11
0
 public void Login(User user)
 {
     user.Password = HashingPassword(user.Password, "sfl@!va");
     userRepository.Login(user);
     UserGuid.Add(user.Username);
 }