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());
        }
Пример #2
0
        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));
        }