public async Task <bool> SendQuestionAsync(UserRequestInputModel userRequestInputModel)
        {
            await this.usersRequests.AddAsync(new UserRequest
            {
                CreatedOn = DateTime.UtcNow,
                Email     = userRequestInputModel.Email,
                Message   = userRequestInputModel.Message,
                Name      = userRequestInputModel.Name,
                Phone     = userRequestInputModel.Phone,
            });

            return(await this.usersRequests.SaveChangesAsync() > 0);
        }
Example #2
0
        public async Task SendQuestionAsyncShouldAddNewRequest()
        {
            // Arrange
            var expectedId = 7;
            UserRequestInputModel userRequestInputModel = new UserRequestInputModel
            {
                Email = "dfdfdfd", Message = "Cop Caar", Name = "Mantaaa", Phone = "23232",
            };

            // Act
            await this.userRequestService.SendQuestionAsync(userRequestInputModel);

            var currentUr = this.usersRequestsRepository.All().SingleOrDefault(ur => ur.Id == expectedId);

            // Assert
            Assert.True(currentUr != null);
            Assert.True(currentUr.Id == expectedId);
        }
        public async Task <IActionResult> Contact(UserRequestInputModel userRequestInputModel)
        {
            if (userRequestInputModel.Email == null)
            {
                userRequestInputModel.Email = this.User.Identity.Name;
            }

            if (!this.ModelState.IsValid)
            {
                return(this.View(userRequestInputModel));
            }

            var isQuestionSendedCreated = await this.userRequestService.SendQuestionAsync(userRequestInputModel);

            if (isQuestionSendedCreated)
            {
                this.TempData["info"] = SuccessfullyCreatedQuestionMsg;
            }

            return(this.Redirect("/"));
        }
        public async Task <IActionResult> Contact()
        {
            var pageHeaders = await this.pageHeaderService.GetPageHeadersByPageIndicatorAsync <PageHeaderViewModel>(GlobalConstants.Contact);

            var pageHeader = pageHeaders.FirstOrDefault();

            var userForContact = new UserRequestInputModel();

            userForContact.PageHeader = pageHeader;

            if (this.User.Identity.IsAuthenticated)
            {
                var currentUserFullName = await this.usersService.GetUserFullName(this.User.Identity.Name);

                userForContact.Email = this.User.Identity.Name;

                if (!string.IsNullOrEmpty(currentUserFullName))
                {
                    userForContact.Name = currentUserFullName;
                }
            }

            return(this.View(userForContact));
        }