public async Task <DocumentStoreGetRes> GetDocumentStore([FromBody] DocumentStoreGetReq request) { var response = new DocumentStoreGetRes(); try { if (request != null) { response = await _documentStoreRepository.GetDocumentStore(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); }
public async Task <DocumentStoreGetRes> GetDocumentStore(DocumentStoreGetReq request) { var res = new DocumentStoreGetRes() { DocumentStoreList = new List <mDocumentStore>(), ResponseStatus = new ResponseStatus() }; try { if (request != null) { FilterDefinition <mDocumentStore> filter; filter = Builders <mDocumentStore> .Filter.Empty; if (!string.IsNullOrEmpty(request.DocumentId)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.Document_Id == request.DocumentId); } if (!string.IsNullOrEmpty(request.DocumentType)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.DocumentType.ToLower() == request.DocumentType.ToLower()); } if (!string.IsNullOrEmpty(request.QRFID)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.QRFID == request.QRFID); } if (!string.IsNullOrEmpty(request.BookingNumber)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.BookingNumber == request.BookingNumber); } if (!string.IsNullOrEmpty(request.Position_Id)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.PositionId == request.Position_Id); } if (!string.IsNullOrEmpty(request.Supplier_Id)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.SupplierId == request.Supplier_Id); } if (!string.IsNullOrEmpty(request.Client_Id)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.ClientId == request.Client_Id); } if (!string.IsNullOrEmpty(request.AlternateService_Id)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.AlternateServiceId == request.AlternateService_Id); } if (!string.IsNullOrEmpty(request.SendStatus)) { filter = filter & Builders <mDocumentStore> .Filter.Where(f => f.SendStatus.ToLower() == request.SendStatus.ToLower()); } var mDocumentStoreList = await _MongoContext.mDocumentStore.Find(filter).ToListAsync(); if (mDocumentStoreList != null && mDocumentStoreList.Count > 0) { res.DocumentStoreList = mDocumentStoreList; res.ResponseStatus.Status = "Success"; } else { res.ResponseStatus.Status = "Failure"; res.ResponseStatus.ErrorMessage = "Records 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); }
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); }