コード例 #1
0
        public async Task <IActionResult> RegisterUserAsync([FromBody] UserAC newUser)
        {
            RegisterResponseAC registerResponseAC = new RegisterResponseAC();

            if (!(await _userRepository.CheckUserNameExistsAsync(newUser.UserName)))
            {
                if (!(await _userRepository.CheckEmailIsExistsAsync(newUser.Email)))
                {
                    await _userRepository.AddUserAsync(newUser);

                    registerResponseAC.IsSuccess = true;
                    registerResponseAC.Message   = "User Added Successfully";
                }
                else
                {
                    registerResponseAC.IsSuccess = false;
                    registerResponseAC.Message   = "Email already exists";
                }
            }
            else
            {
                registerResponseAC.IsSuccess = false;
                registerResponseAC.Message   = "User name already exists";
            }
            return(Ok(registerResponseAC));
        }
コード例 #2
0
ファイル: ReviewRepository.cs プロジェクト: Rowdy96/CrazyFood
        public async Task <ReviewAC> GetReview(int reviewId)
        {
            var review = await _context
                         .Review
                         .Include(r => r.Restaurant)
                         .ThenInclude(c => c.City)
                         .Include(r => r.User)
                         .Where(r => r.Id == reviewId)
                         .SingleOrDefaultAsync();

            var reviewComments = await _context
                                 .ReviewComment
                                 .Include(r => r.User)
                                 .Where(rc => rc.ReviewId == review.Id)
                                 .ToListAsync();

            var reviewLikes = _context
                              .ReviewLike
                              .Where(rl => rl.ReviewId == review.Id)
                              .Count();

            List <ReviewCommentAC> ListOfComments = new List <ReviewCommentAC>();

            foreach (var reviewCommnet in reviewComments)
            {
                ReviewCommentAC reviewCommentAC = new ReviewCommentAC();
                reviewCommentAC.ReviewCommentId   = reviewCommnet.Id;
                reviewCommentAC.ReviewCommentText = reviewCommnet.CommentText;
                reviewCommentAC.UserId            = reviewCommnet.UserId;
                reviewCommentAC.UserName          = reviewCommnet.User.UserName;

                ListOfComments.Add(reviewCommentAC);
            }

            ReviewAC reviewAC = new ReviewAC();
            UserAC   user     = new UserAC();

            user.Id      = review.User.Id;
            user.Name    = review.User.UserName;
            user.Phone   = review.User.PhoneNumber;
            user.Email   = review.User.Email;
            user.Address = review.User.Address;

            reviewAC.ReviewId       = review.Id;
            reviewAC.Rating         = review.Rating;
            reviewAC.ReviewText     = review.ReviewText;
            reviewAC.userAC         = user;
            reviewAC.ReviewCommnets = ListOfComments;
            reviewAC.TotalLike      = reviewLikes;
            reviewAC.RestaurantId   = review.RestaurantId;

            return(reviewAC);
        }
コード例 #3
0
ファイル: UserRepository.cs プロジェクト: Rowdy96/CrazyFood
        public UserAC GetUser(Users user)
        {
            UserAC userAC = new UserAC();

            userAC.Id      = user.Id;
            userAC.Name    = user.Name;
            userAC.Email   = user.Email;
            userAC.Phone   = user.PhoneNumber;
            userAC.Address = user.Address;
            // var users = _mapper.Map<UserAC>(user);
            return(userAC);
        }
コード例 #4
0
        public async Task <IActionResult> EditUserAsync([FromBody] UserAC user)
        {
            var returnResult = await unitOfWork.User.EditUserAsync(user);

            if (returnResult)
            {
                await unitOfWork.SaveAsync();

                return(Ok(user));
            }
            return(NotFound("User not found"));
        }
コード例 #5
0
ファイル: UsersController.cs プロジェクト: Rowdy96/CrazyFood
 public async Task<IActionResult> GetUserDetails([FromRoute]string userId)
 {
     Users user = await _userManager.FindByIdAsync(userId);
    
     
     if (user == null)
     {
         return NoContent();
     }
     
     UserAC userAC = _unitOfWork.UserRepository.GetUser(user);
     
     return Ok(userAC);
 }
コード例 #6
0
        public async Task <UserAC> GetUserByIdAsync(string userId)
        {
            var user = await _userManager.Users.Where(u => u.Id.Equals(userId)).FirstOrDefaultAsync();

            UserAC userById = new UserAC
            {
                Id              = user.Id,
                FullName        = user.FullName,
                UserName        = user.UserName,
                DefaultCurrency = user.CurrencyID,
                DefaultLanguage = user.LanguageID
            };

            return(userById);
        }
コード例 #7
0
        //public Task CreateUserAsync(ApplicationUser user)
        //{
        //    throw new NotImplementedException();
        //}

        public async Task <Boolean> EditUserAsync(UserAC user)
        {
            var userData = await _userManager.FindByIdAsync(user.Id);

            if (userData != null)
            {
                userData.FullName   = user.FullName;
                userData.UserName   = user.UserName;
                userData.LanguageID = user.DefaultLanguage;
                userData.CurrencyID = user.DefaultCurrency;

                await _userManager.UpdateAsync(userData);

                return(true);
            }
            return(false);
        }
コード例 #8
0
        public async Task <string> AddUserAsync(UserAC newUser)
        {
            try
            {
                var user = _mapperContext.Map <UserAC, ApplicationUser>(newUser);
                user.CreatedDateTime = DateTime.UtcNow;
                await _userManager.CreateAsync(user, newUser.Password);

                await _userManager.AddToRoleAsync(user, "User");

                return(user.Id);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
ファイル: UsersController.cs プロジェクト: Rowdy96/CrazyFood
        public async Task<IActionResult> GetLoggedInUSer()
        {

            var username = User.Identity.Name;
            if (username == null)
            {
                return RedirectToAction("Login", "Account");
            }
            else
            {
                Users user = await _userManager.FindByNameAsync(username);
                var userRoles = await _userManager.GetRolesAsync(user);
                UserAC userAC = _unitOfWork.UserRepository.GetUser(user);
                userAC.Roles = userRoles;
                return Ok(userAC);
            }
        }
コード例 #10
0
ファイル: ReviewRepository.cs プロジェクト: Rowdy96/CrazyFood
        public async Task <IEnumerable <ReviewAC> > GetAllReviewOfRestaurant(int restaurantId)
        {
            var reviews = await _context
                          .Review
                          .Include(r => r.Restaurant)
                          .ThenInclude(c => c.City)
                          .Include(r => r.User)
                          .Where(r => r.RestaurantId == restaurantId && r.ReviewText != null)
                          .ToListAsync();

            foreach (var review in reviews)
            {
                var reviewComments = await _context
                                     .ReviewComment
                                     .Where(rc => rc.ReviewId == review.Id)
                                     .ToListAsync();

                var totalReviewComments = _context
                                          .ReviewComment
                                          .Where(r => r.ReviewId == review.Id)
                                          .Count();
                var reviewLikes = _context
                                  .ReviewLike
                                  .Where(rl => rl.ReviewId == review.Id)
                                  .Count();

                List <ReviewCommentAC> ListOfComment = new List <ReviewCommentAC>();

                foreach (var reviewCommnet in reviewComments)
                {
                    ReviewCommentAC reviewCommentAC = new ReviewCommentAC();
                    reviewCommentAC.ReviewCommentId   = reviewCommnet.Id;
                    reviewCommentAC.ReviewCommentText = reviewCommnet.CommentText;
                    reviewCommentAC.UserId            = reviewCommnet.UserId;
                    reviewCommentAC.UserName          = reviewCommnet.User.UserName;

                    ListOfComment.Add(reviewCommentAC);
                }

                ReviewAC reviewAC = new ReviewAC();
                UserAC   user     = new UserAC();
                user.Id      = review.User.Id;
                user.Name    = review.User.UserName;
                user.Phone   = review.User.PhoneNumber;
                user.Email   = review.User.Email;
                user.Address = review.User.Address;

                reviewAC.ReviewId       = review.Id;
                reviewAC.Rating         = review.Rating;
                reviewAC.ReviewText     = review.ReviewText;
                reviewAC.userAC         = user;
                reviewAC.ReviewCommnets = ListOfComment;
                reviewAC.TotalLike      = reviewLikes;
                reviewAC.TotalComment   = totalReviewComments;
                reviewAC.RestaurantId   = restaurantId;

                AllReviews.Add(reviewAC);
            }

            return(AllReviews);
        }