Exemplo n.º 1
0
        public async Task <ActionResult> AddUpdateSocialMediaAccount(SocialMediaAccountViewModel socialMediaAccountViewModel)
        {
            _logger.Info("Adding Social Media Account! Params: " + socialMediaAccountViewModel.ToJson());

            if (!ModelState.IsValid)
            {
                _logger.Error("Adding Social Media Account Form Invalid! Errors: " + ModelState.ToJson());
                return(Json(ModelState.ToDictionary()));
            }

            try
            {
                var socialMediaAccount =
                    await UserManager.AddSocialMediaAccount(socialMediaAccountViewModel, User.Identity.GetUserId());

                _logger.Info("Adding Social Media Account Successfully!");

                return(Json(socialMediaAccount));
            }
            catch (UniquenessException e)
            {
                ModelState.AddModelError("SocialMedia", e.Message);
                _logger.Info("Adding Social Media Account Failed! Errors: " + ModelState.ToJson());

                return(Json(ModelState.ToDictionary()));
            }
        }
Exemplo n.º 2
0
        public async Task <SocialMediaAccountFullViewModel> AddSocialMediaAccount(SocialMediaAccountViewModel account,
                                                                                  string userId)
        {
            var user = await FindByIdAsync(userId) ??
                       throw new ContentNotFoundException(
                                 "Не е намерен потребителят на, който искате да добавите социална медия!");

            if (user.SocialMediaAccounts.Any(s => s.SocialMedia == account.SocialMedia))
            {
                throw new UniquenessException($"Вече имате въведен акаунт в {account.SocialMedia}");
            }

            var socialMediaAccount = new SocialMediaAccounts
            {
                SocialMedia        = account.SocialMedia,
                SocialMediaAccount = account.SocialMediaAccount
            };

            user.SocialMediaAccounts.Add(socialMediaAccount);
            await UpdateAsync(user);

            return(new SocialMediaAccountFullViewModel
            {
                Id = socialMediaAccount.Id,
                SocialMedia = socialMediaAccount.SocialMedia,
                SocialMediaAccount = socialMediaAccount.SocialMediaAccount
            });
        }
Exemplo n.º 3
0
 public async Task AddSocialMediaAccounts(SocialMediaAccountViewModel socialMediaAccountViewModel, string userId)
 {
     await userManager.AddUpdateClaim(new Claim(socialMediaAccountViewModel.SocialMedia, socialMediaAccountViewModel.SocialMediaAccount), userId);
 }