Example #1
0
        public async Task CreateAsync(CreateHearingViewModel input)
        {
            var caseIdAndHearingsCountInfo = this.casesRepository.AllAsNoTracking()
                                             .Where(x => x.CaseNumber == input.CaseNumber)
                                             .Take(1)
                                             .Select(x => new
            {
                caseId        = x.Id,
                hearingsCount = x.Hearings.Count,
            })
                                             .FirstOrDefault();

            if (caseIdAndHearingsCountInfo == null)
            {
                throw new ArgumentNullException("caseNumber", "Case with the provided case number was not found in the database");
            }

            input.CaseId  = caseIdAndHearingsCountInfo.caseId;
            input.LocalId = caseIdAndHearingsCountInfo.hearingsCount + 1;

            var mapper     = AutoMapperConfig.MapperInstance;
            var newHearing = mapper.Map <Hearing>(input);

            await this.hearingsRepository.AddAsync(newHearing);

            await this.hearingsRepository.SaveChangesAsync();
        }
Example #2
0
        public async Task <IActionResult> Create(CreateHearingViewModel input)
        {
            var attorneyId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            input.AttorneyId = attorneyId;

            try
            {
                await this.hearingsService.CreateAsync(input);
            }
            catch (ArgumentNullException ex)
            {
                return(this.RedirectToAction("Create", new { message = ex.Message }));
            }

            return(this.RedirectToAction("Create", new { message = "Hearing Successfully Added" }));
        }