/// <summary> /// Set document inforamtion in clinical document model for saving document via document service /// </summary> /// <param name="clinicalDocumentInputModel"></param> /// <returns></returns> private async Task <string> SaveClinicalDocumentDetailsForDocumentService(ClinicalDocumentInputModel clinicalDocumentInputModel) { string status = string.Empty; //GUID doesnt needs assignment Guid key; //Map the busniess model to the documeny service model DocumentMetadata metadata = _iMapper.Map <DocumentMetadata>(clinicalDocumentInputModel); //Check if the document blob is null if (clinicalDocumentInputModel.Document != null && clinicalDocumentInputModel.Document.Length > 0) { //check if the mimetype and sourcesystem is null or contain white spaces if (!string.IsNullOrWhiteSpace(clinicalDocumentInputModel.MimeType) && !string.IsNullOrWhiteSpace(clinicalDocumentInputModel.SourceSystem)) { // Call document service (status, key) = await _iDocumentServiceHelper.UploadDocuments(metadata); if (status == _localizer["DocumentServiceSuccessMessage"]) { //Document saved successfully by Doc service clinicalDocumentInputModel.DocumentReceived = true; clinicalDocumentInputModel.DocumentId = key; } else { //Document service failed while saving document clinicalDocumentInputModel.DocumentReceived = true; } } else { //Document blob received, but either of mime type or source system is missing clinicalDocumentInputModel.DocumentReceived = true; } } else { //document not received clinicalDocumentInputModel.DocumentReceived = false; } return(status); }
/// <summary> /// SaveClinicalDetails /// </summary> /// <param name="clinicalDocumentInputModel">clinicalDocumentInputModel</param> /// <returns>response</returns> public async Task <ClinicalDocumentOutputModel> SaveClinicalDetails(ClinicalDocumentInputModel clinicalDocumentInputModel) { string status = await SaveClinicalDocumentDetailsForDocumentService(clinicalDocumentInputModel); //Map ClinicalDocumentInputModel to ClinicalDocuments entity entities.ClinicalDocumentMetadata clinicalDocuments = _iMapper.Map <entities.ClinicalDocumentMetadata>(clinicalDocumentInputModel); //Save metadat details var details = await _iClinicalDocumentUnitOfWork.SaveClinicalDetails(clinicalDocuments); //check for null or empty if (!string.IsNullOrEmpty(details)) { //If the metadata details are saved but have error saving the document return(SaveClinicalDocumentsResponse(status, details)); } else { throw new Exception(message: _localizer["Exception_Error_Message"]); } }
public async Task <IActionResult> SaveClinicaldetails([FromBody] DocumentDetailRequest documentDetailRequest) { DocumentDetailResponse clinicalDetailsResponse = null; //Map Contract request model to clinical document input model ClinicalDocumentInputModel clinicalDocumentInputModel = _iMapper.Map <ClinicalDocumentInputModel>(documentDetailRequest); // Save document details ClinicalDocumentOutputModel clinicalDetails = await _iClinicalDocumentBusinessLogic.SaveClinicalDetails(clinicalDocumentInputModel); if (clinicalDetails != null) { //Map clinical document output model to Contract response model clinicalDetailsResponse = _iMapper.Map <DocumentDetailResponse>(clinicalDetails); //return response return(Ok(clinicalDetailsResponse)); } else { //return badrequest return(BadRequest(_localizer["BadRequestErrorMessage"])); } }