public async Task <IActionResult> OnGet() { Guid?inquiryResultId = Session.Get(HttpContext.Session, Session.Key.InquiryResult); if (!inquiryResultId.HasValue) { return(BadRequest("InquiryResult couldn't be located.")); } DataModel dataInquiry = await Data.Inquiry.Item(inquiryResultId.Value); ClientModel clientModel = await Data.Client.Item(dataInquiry.ClientId, inquiryResultId); if (clientModel == null) { return(NotFound()); } InquiryItem = new Model { Name = clientModel.Name, EmailAddress = clientModel.EmailAddress, Message = dataInquiry.Message, SubjectMatter = dataInquiry.SubjectMatter, TranslationDirection = dataInquiry.TranslationDirection, TranslationType = dataInquiry.TranslationType, WordCount = dataInquiry.WordCount, Uploads = clientModel.Uploads.Select(x => x.OriginalFilename).ToList() }; if (InquiryItem == null) { return(BadRequest("InquiryItem couldn't be located.")); } Item = await new Base().Get(SiteSettings, Data.Area.Root, "InquiryResult"); return(Item == null?NotFound() : (IActionResult)Page()); }
public async Task <ActionResult> OnPostEmailAddressChange() { Result result; try { var stream = new MemoryStream(); await Request.Body.CopyToAsync(stream); stream.Position = 0; using var reader = new StreamReader(stream); string requestBody = await reader.ReadToEndAsync(); if (requestBody.Length <= 0) { throw new IndexOutOfRangeException("requestBody is empty."); } var obj = JsonConvert.DeserializeObject <InitializeClient>(requestBody); if (obj == null) { throw new NullReferenceException("Model could not be derived from JSON object."); } ClientModel dbClientModel = await Client.Item(obj.EmailAddress) ?? new ClientModel { EmailAddress = obj.EmailAddress, Id = Guid.NewGuid(), Name = obj.Name, Uploads = new List <UploadModel>() }; Session.Json.SetObject(HttpContext.Session, Session.Key.ClientDataModel, dbClientModel); result = new Result(ResultStatus.Succeeded, "Client initialized.", dbClientModel.Id); } catch (Exception ex) { result = new Result(ResultStatus.Failed, ex.Message, Guid.Empty); } return(new JsonResult(result)); }