public UserOutputModel Authenticate(string email, string password) { var user = _context.User .Where(u => u.IsActive == true) .Where(u => u.Email == email) .Where(u => u.AccessLevel > 0) .SingleOrDefault(); if (user == null) { return(null); } bool isPasswordCorrect = BCrypt.Net.BCrypt.Verify(password, user.Password); if (!isPasswordCorrect) { return(null); } var token = _tokenService.CreateJwtToken(user); UserOutputModel output = new UserOutputModel(user, token); return(output); }
public IActionResult GetFollowedUsersPosts() { if (_workContext.CurrentCustomer.IsRegistered()) { var posts = _followRepository.GetFollowedPosts(_workContext.CurrentCustomer.Id); var users = _followRepository.GetFollowedUsers(_workContext.CurrentCustomer.Id); var modelList = new List <PostModel>(); foreach (var follow in posts) { var p = _postService.GetPost((int)follow.PostId, ""); modelList.Add(new PostModel { CategoryId = p.CategoryId, CategoryName = p.Category.Name, Text = p.Text, Id = p.Id, Title = p.Title, City = p.City.ArName, DateCreated = p.DateCreated, Photo = p.Z_Harag_Photo.Select(ppp => ppp.Url).FirstOrDefault(), DateUpdated = p.DateUpdated, IsDispayed = p.IsDispayed, PostOwner = p.Customer.Username, CreationTime = (DateTime)follow.CreatedTime }); } var modelUsersList = new List <UserModel>(); foreach (var follow in users) { var u = _customerContext.GetCustomerById((int)follow.FollowedId); modelUsersList.Add(new UserModel { Phone = u.Mobile, Id = u.Id, Username = u.Username, CreationTime = (DateTime)follow.CreatedTime }); } var generalModel = new UserOutputModel { Posts = modelList, Users = modelUsersList }; return(View("~/Themes/Pavilion/Views/Harag/Follow/Follow.cshtml", generalModel)); } else { return(Redirect("Login")); } }
public IActionResult GetUsers(PagingParams pagingParams) { var query = _context.Users.AsQueryable(); var model = new PagedList <Users>(query, pagingParams.PageNumber, pagingParams.PageSize); Response.Headers.Add("X-Pagination", model.GetHeader().ToJson()); var outputModel = new UserOutputModel { Paging = model.GetHeader(), Links = GetLinks(model), Items = model.List.ToList(), }; return(Ok(outputModel)); }
public UserServiceTest() { //models user = new User("Vinicius Santana", "12345678910", new Credentials { Login = "******", Password = "******" }); userInput = new UserInputModel { Name = "Vinicius Santana", Cpf = "12345678910", Password = "******", Login = "******", CompanyId = Guid.NewGuid() }; userOutput = new UserOutputModel("Vinicius Santana", "Loja da Esquina", "12345678910"); company = new Company("Loja da Esquina"); //mocks mockUserRepository = new Mock <IUserRepository>(); mockCompanyRepository = new Mock <ICompanyRepository>(); mockJwtService = new Mock <IJwtGenerator>(); mockMapper = new Mock <IMapper>(); }
public async Task <IActionResult> GetUserByIdAsync() { if (!long.TryParse(User.UserId(), out long userId)) { return(BadRequest(new { message = "Invalid User Id." })); } var user = await _userRepository.GetUserByIdAsync(userId); if (user == null) { return(NotFound()); } var userOutputModel = new UserOutputModel { FirstName = user.FirstName, LastName = user.LastName, Email = user.Email }; return(Ok(userOutputModel)); }
public void GetUserShouldReturnCorrectModel() { //arrange var user = new GetShreddedUser { Email = "*****@*****.**", UserName = "******" }; var userOne = new GetShreddedUser { Email = "*****@*****.**", UserName = "******" }; var usertwo = new GetShreddedUser { UserName = "******" }; var diaryType = new DiaryType { Name = "Cutting" }; var diaries = new[] { new GetShreddedDiary { Id = 1, CreatedOn = DateTime.Now.AddHours(2), Type = diaryType, UserId = user.Id, Summary = "Summary1", Title = "Title1" }, new GetShreddedDiary { Id = 2, CreatedOn = DateTime.Now, Type = diaryType, UserId = user.Id, Summary = null, Title = "SomeTitle2" }, new GetShreddedDiary { Id = 3, CreatedOn = DateTime.Now.AddDays(-1), Type = diaryType, UserId = userOne.Id, Summary = "someSummary2", Title = "SomeTitle3" }, }; var comments = new[] { new Comment { CommentedOn = DateTime.Now, GetShreddedUser = user, GetShreddedDiary = diaries[0], Id = 1, Message = "Message" }, new Comment { CommentedOn = DateTime.Now.AddHours(2), GetShreddedUser = user, GetShreddedDiary = diaries[1], Id = 2, Message = "Message2" }, }; var followed = new[] { new GetShreddedUserDiary { GetShreddedUserId = user.Id, GetShreddedDiaryId = diaries[2].Id }, new GetShreddedUserDiary { GetShreddedUserId = usertwo.Id, GetShreddedDiaryId = diaries[1].Id }, }; var notice = new Notification { GetShreddedUser = user, Seen = false, Message = "Message3", UpdatedDiaryId = 3 }; var messages = new[] { new Message { SenderId = usertwo.Id, IsReaded = true, Text = "BodyBuilding", ReceiverId = user.Id, Id = 1, SendOn = DateTime.Now.AddHours(2) }, new Message { SenderId = user.Id, IsReaded = false, Text = "SimplyShredded", ReceiverId = userOne.Id, Id = 2, SendOn = DateTime.Now }, }; this.Context.Notifications.Add(notice); this.Context.GetShreddedUserDiaries.AddRange(followed); this.Context.Messages.AddRange(messages); this.Context.DiaryTypes.Add(diaryType); this.Context.GetShreddedDiaries.AddRange(diaries); this.Context.Comments.AddRange(comments); this.userManager.CreateAsync(user).GetAwaiter(); this.userManager.CreateAsync(userOne).GetAwaiter(); this.userManager.CreateAsync(usertwo).GetAwaiter(); this.Context.SaveChanges(); //act string username = user.UserName; var model = this.userService.GetUser(username); var notifications = this.Context.Notifications .Where(x => x.GetShreddedUserId == user.Id) .ProjectTo <NotificationOutputModel>().ToList(); var messagesUser = this.Context.Messages.Where(x => x.ReceiverId == user.Id || x.SenderId == user.Id) .ProjectTo <MessageOutputModel>() .ToList(); var followedDiaries = this.Context.GetShreddedUserDiaries.Where(x => x.GetShreddedUserId == user.Id) .Select(x => x.GetShreddedDiary) .ProjectTo <DiaryOutputModel>().ToList(); var userDiaries = this.Context.GetShreddedDiaries.Where(x => x.UserId == user.Id) .ProjectTo <DiaryOutputModel>().ToList(); var modelToCompare = new UserOutputModel { Comments = 2, Email = user.Email, FollowedDiaries = followedDiaries, Id = user.Id, Username = user.UserName, Messages = messagesUser, MessagesCount = messagesUser.Count, Notifications = notifications, Role = GlobalConstants.DefaultRole, UserDiaries = userDiaries, Diaries = userDiaries.Count, }; model.Should().NotBeNull().And.Subject.Should().Equals(modelToCompare); }
public UserOutputModel ConvertUserDTOToUserOutputModel(UserDTO user) { UserOutputModel userOut = new UserOutputModel(user.ID, user.FirstName, user.LastName, user.BirthDate, user.Login, user.Password, user.Email, user.Phone); return(userOut); }