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(); }
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)); }
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()); }
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 })); }