Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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"));
            }
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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>();
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }