Пример #1
0
        public async Task CreateAsync(CreateInquiryInputModel inputModel)
        {
            var inquiry = new Inquiry
            {
                Content             = inputModel.Content,
                UserId              = inputModel.UserId,
                SpecialistDetailsId = inputModel.SpecialistDetailsId,
                ValidUntil          = inputModel.ValidUntil,
                CityId              = inputModel.CityId,
            };

            await this.inquiriesRepository.AddAsync(inquiry);

            await this.inquiriesRepository.SaveChangesAsync();
        }
Пример #2
0
        public async Task <IActionResult> Create(string specialistId)
        {
            var currentUser = await this.userManager.GetUserAsync(this.User);

            if (currentUser.SpecialistDetailsId == specialistId)
            {
                return(this.CustomAccessDenied());
            }

            var model = new CreateInquiryInputModel
            {
                SpecialistDetailsId = specialistId,
                Cities = await this.citiesService.GetAllCitiesAsync <CitySimpleViewModel>(),
            };

            return(this.View(model));
        }
Пример #3
0
        public async Task CreateAsync_ShouldWorkCorrectly()
        {
            AutoMapperConfig.RegisterMappings(typeof(InquiriesViewModel).Assembly);
            var specialistId = "specialistId";
            var inputModel   = new CreateInquiryInputModel
            {
                CityId              = 2,
                Content             = "What is what",
                SpecialistDetailsId = "specialistId",
                UserId              = "2",
                ValidUntil          = DateTime.UtcNow.AddDays(6),
            };

            await this.service.CreateAsync(inputModel);

            var specialistInquiries = await this.service.GetSpecialistEnquiriesAsync <InquiriesViewModel>(specialistId);

            var expectedInquiriesCount = 3;

            Assert.Equal(expectedInquiriesCount, specialistInquiries.Count());
        }
Пример #4
0
        public async Task <IActionResult> Create(CreateInquiryInputModel inputModel)
        {
            if (!this.ModelState.IsValid)
            {
                inputModel.Cities = await this.citiesService.GetAllCitiesAsync <CitySimpleViewModel>();

                return(this.View(inputModel));
            }

            var currentUser = await this.userManager.GetUserAsync(this.User);

            // If someone tries to cheat :)
            if (currentUser.SpecialistDetailsId == inputModel.SpecialistDetailsId)
            {
                return(this.CustomAccessDenied());
            }

            inputModel.UserId = currentUser.Id;
            await this.inquiriesService.CreateAsync(inputModel);

            return(this.RedirectToAction("GetProfile", "SpecialistsDetails", new { id = inputModel.SpecialistDetailsId }));
        }