Esempio n. 1
0
        public async Task <UserViewModel> UpdateAvatarAsync(AddAvatarRequest request)
        {
            var avatar = UserAdapter.FromRequest(request, _httpContextAccessor);

            var currentUser = Feature.CurrentUser(_httpContextAccessor, userRepository);

            currentUser.Avatar     = avatar;
            currentUser.AvatarHash = request.AvatarHash;

            foreach (var post in postRepository.GetAll()
                     .Where(x => x.AuthorId == currentUser.Id.ToString() &&
                            x.Status == ItemStatus.Active))
            {
                await postRepository.UpdateAsync(post, post.Id);
            }

            currentUser.ModifiedDate = DateTime.Now;

            await userRepository.UpdateAsync(currentUser, currentUser.Id);

            //CacheHelper.Delete($"CurrentUser-{currentUser.Email}");
            //CacheHelper.Add($"CurrentUser-{currentUser.Email}", currentUser, DateTime.Now.AddDays(10));

            return(mapper.Map <UserViewModel>(currentUser));
        }
Esempio n. 2
0
        public ServiceResponse <AvatarResponse> AddAvatar(AddAvatarRequest request)
        {
            Avatar avatar;

            using (DiaryContext db = new DiaryContext())
            {
                var userDetails = db.UserDetails.FirstOrDefault(x => x.Id == request.UserDetailsId);
                if (userDetails == null)
                {
                    return(new ServiceResponse <AvatarResponse>(null, HttpStatusCode.NotFound, "Unable to find the user details!"));
                }
                avatar = db.Avatars.FirstOrDefault(x => x.Id == userDetails.Id);
                if (avatar != null)
                {
                    avatar.Image = Convert.FromBase64String(request.Image);
                }
                else
                {
                    avatar = new Avatar()
                    {
                        Id          = userDetails.Id,
                        Image       = Convert.FromBase64String(request.Image),
                        UserDetails = userDetails
                    };
                    db.Avatars.Add(avatar);
                }
                db.SaveChanges();
            }
            return(new ServiceResponse <AvatarResponse>(new AvatarResponse(avatar), HttpStatusCode.OK, "Avatar created successfully"));
        }
Esempio n. 3
0
        public IHttpActionResult AddAvatar(AddAvatarRequest avatar)
        {
            if (avatar == null || !ModelState.IsValid)
            {
                return(ResponseMessage(CreateCustomResponseMessage(HttpStatusCode.BadRequest)));
            }
            var result = _userService.AddAvatar(avatar);

            return(ResponseMessage(CreateCustomResponseMessage(result)));
        }
Esempio n. 4
0
 public static Image FromRequest(AddAvatarRequest request, IHttpContextAccessor context)
 {
     // var url = Feature.SaveImageToUrl(request.Image, context);
     return(new Image()
     {
         Discription = request.Discription,
         ImageUrl = "",
         ImageHash = request.AvatarHash,
         CreatedDate = DateTime.Now,
         ModifiedDate = DateTime.Now,
     });
 }
Esempio n. 5
0
        public async Task <UserViewModel> AddAvatarAsync(AddAvatarRequest request)
        {
            var avatar = UserAdapter.FromRequest(request, _httpContextAccessor);

            var currentUser = Feature.CurrentUser(_httpContextAccessor, userRepository);

            currentUser.Avatar       = avatar;
            currentUser.AvatarHash   = avatar.ImageHash;
            currentUser.ModifiedDate = DateTime.Now;

            await userRepository.UpdateAsync(currentUser, currentUser.Id);

            return(mapper.Map <UserViewModel>(currentUser));
        }
Esempio n. 6
0
        public async Task <IActionResult> UpdateAvatar(AddAvatarRequest request)
        {
            var data = await userService.UpdateAvatarAsync(request);

            return(Ok(new ApiOkResponse(data)));
        }