Esempio n. 1
0
        public async Task <SingleFormResponse> GetSingleForm(SingleFormRequest model)
        {
            try
            {
                var trans = GetTrans(model.CallerOrgCode, model.UserName, model.OrderId);
                if (trans == null)
                {
                    //TODO: Log Something
                    throw new ADMServerException("Couldn't find Trans");
                }

                var formInstance = trans.FormInstances.ToList()
                                   .FirstOrDefault(x => x.FormInstanceID == model.FormInstanceId.ToString());
                if (formInstance == null)
                {
                    //TODO: Log Something
                    throw new ADMServerException($"Couldn't find FormInstance: {model.FormInstanceId}");
                }

                await Task.Delay(1);

                var response = new SingleFormResponse()
                {
                    CorrelationGuid = model.CorrelationGuid,
                    FormInstance    = new FormInstanceVm()
                    {
                        DocumentControlNumber = formInstance.DocumentControlNumber,
                        FormInstanceID        = formInstance.FormInstanceID,
                        FormName     = formInstance.FormName,
                        FormOptional = formInstance.FormOptional == "100030001" ? "Required" : "Optional",
                        //InfoSourceTC = formInstance.InfoSourceTC.ToString(),
                        PdfBinaryString = model.IncludePdfString
                            ? Convert.ToBase64String(formInstance.Attachments[0].AttachmentData.Data)
                            : string.Empty,
                        ProviderFormNumber = formInstance.ProviderFormNumber,
                        Sequence           = formInstance.Sequence.ToString(),
                        FormSource         = GetFormSource(formInstance.InfoSourceTC.ToString())
                    }
                };
                return(response);
            }
            catch (Exception e)
            {
                _logManager.WriteEntry($"{e.Message} | CorrelationGUID: {model.CorrelationGuid}", LogLevel.Error, 4025);
                throw;
            }
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> Get([FromUri] SingleFormRequest model, string formInstanceId)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                SingleFormResponse response = await _service.GetSingleForm(model);

                return(Ok(response));
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }