예제 #1
0
        public async Task <DocumentStoreInfoGetRes> GetCommunicationTrail(DocumentStoreGetReq request, string ticket)
        {
            DocumentStoreInfoGetRes documentStoreInfoGetRes = new DocumentStoreInfoGetRes();

            documentStoreInfoGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("DocumentStore:GetCommunicationTrail"), request, typeof(DocumentStoreInfoGetRes), ticket);

            return(documentStoreInfoGetRes);
        }
예제 #2
0
        public async Task <DocumentStoreInfoGetRes> GetCommunicationTrail([FromBody] DocumentStoreGetReq request)
        {
            var response = new DocumentStoreInfoGetRes();

            try
            {
                if (request != null)
                {
                    response = await _documentStoreRepository.GetCommunicationTrail(request);
                }
                else
                {
                    response.ResponseStatus.Status       = "Failure";
                    response.ResponseStatus.ErrorMessage = "Details can not be blank.";
                }
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message;
            }
            return(response);
        }
예제 #3
0
        public async Task <DocumentStoreInfoGetRes> GetCommunicationTrail(DocumentStoreGetReq request)
        {
            var res = new DocumentStoreInfoGetRes()
            {
                DocumentStoreList = new List <DocumentStoreList>(),
                DocumentStoreInfo = new DocumentStoreInfo(),
                ResponseStatus    = new ResponseStatus(),
                BookingNumber     = request.BookingNumber,
                QRFID             = request.QRFID
            };

            try
            {
                if (request != null)
                {
                    if (!string.IsNullOrEmpty(request.QRFID))
                    {
                        var QRFPrice = _MongoContext.mQRFPrice.AsQueryable().Where(x => x.QRFID == request.QRFID && x.IsCurrentVersion == true && x.IsDeleted == false).OrderByDescending(y => y.VersionId).FirstOrDefault();
                        res.AgentTourName = QRFPrice.AgentProductInfo.TourName;
                    }
                    DocumentStoreGetRes objDocumentStoreGetRes = await GetDocumentStore(request);

                    if (objDocumentStoreGetRes?.ResponseStatus?.Status.ToLower() == "success" && objDocumentStoreGetRes?.DocumentStoreList?.Count > 0)
                    {
                        res.DocumentStoreList = objDocumentStoreGetRes.DocumentStoreList.Select(a => new DocumentStoreList
                        {
                            DocumentId = a.Document_Id,
                            From       = a.From,
                            Subject    = a.Subject,
                            SendDate   = a.SendDate != null ? TimeZoneInfo.ConvertTimeFromUtc(a.SendDate.Value, INDIAN_ZONE) : DateTime.MinValue,
                            SendStatus = a.SendStatus,
                            To         = a.To != null ? string.Join(',', a.To) : ""
                        }).ToList();

                        var firstemail = objDocumentStoreGetRes.DocumentStoreList.FirstOrDefault();
                        res.DocumentStoreInfo = new DocumentStoreInfo()
                        {
                            To                                                                                    = firstemail.To != null?string.Join(',', firstemail.To) : "",
                                                                       Body                                       = firstemail.Body,
                                                                       DocumentPath                               = firstemail.DocumentPath != null?string.Join(',', firstemail.DocumentPath) : "",
                                                                                                         From     = firstemail.From,
                                                                                                         SendDate = firstemail.SendDate != null?TimeZoneInfo.ConvertTimeFromUtc(firstemail.SendDate.Value, INDIAN_ZONE) : DateTime.MinValue,
                                                                                                                        SendStatus = firstemail.SendStatus,
                                                                                                                        Subject    = firstemail.Subject
                        };
                        res.ResponseStatus.Status = "Success";
                    }
                    else
                    {
                        if (objDocumentStoreGetRes?.ResponseStatus?.Status.ToLower() != "success")
                        {
                            res.ResponseStatus.Status       = "Failure";
                            res.ResponseStatus.ErrorMessage = objDocumentStoreGetRes?.ResponseStatus?.ErrorMessage;
                        }
                        else
                        {
                            res.ResponseStatus.Status       = "Failure";
                            res.ResponseStatus.ErrorMessage = "Communication Trail details not found.";
                        }
                    }
                }
                else
                {
                    res.ResponseStatus.Status       = "Failure";
                    res.ResponseStatus.ErrorMessage = "Request can not be null/blank.";
                }
            }
            catch (Exception ex)
            {
                res.ResponseStatus.Status       = "Failure";
                res.ResponseStatus.ErrorMessage = !string.IsNullOrEmpty(ex.Message) ? ex.Message : (ex.InnerException != null && !string.IsNullOrEmpty(ex.InnerException.Message)) ? ex.InnerException.Message : "";
            }
            return(res);
        }