public override object ConsentSave(int caseid, int companyid, List <System.Net.Http.HttpContent> streamContent, string uploadpath, bool signed) { List <BO.Document> docInfo = new List <BO.Document>(); StringBuilder storagePath = new StringBuilder(); string SPECIALITY = "SPECIALITY_"; string COMPANY = "/COMPANY_"; string CASE = "/CASE_"; string VISIT = "/VISIT_"; storagePath.Append(COMPANY) .Append(companyid) .Append(CASE) .Append(caseid) .Append("/consent"); if (signed) { string consentPdf = GenerateConsentDocument(caseid, companyid, uploadpath, true); FileUpload.FileUploadManager fileUploadManager = new FileUpload.FileUploadManager(_context); docInfo = (List <BO.Document>)fileUploadManager.UploadSignedConsent(caseid, "consent_" + companyid, consentPdf); if (docInfo.ToList().FirstOrDefault <BO.Document>().Status.ToUpper().Equals("SUCCESS")) { BO.CompanyCaseConsentApproval companyCaseConsentApprovalBO = new BO.CompanyCaseConsentApproval(); companyCaseConsentApprovalBO.CaseId = caseid; companyCaseConsentApprovalBO.CompanyId = companyid; companyCaseConsentApprovalBO.ConsentGivenTypeId = 3; var result = this.Save(companyCaseConsentApprovalBO); if (result is BO.ErrorObject) { return(result); } } return(docInfo); } else { FileUpload.FileUploadManager fileUploadManager = new FileUpload.FileUploadManager(_context); docInfo = (List <BO.Document>)fileUploadManager.Upload(streamContent, storagePath.ToString(), caseid, "consent_" + companyid, uploadpath); if (docInfo.ToList().FirstOrDefault <BO.Document>().Status.ToUpper().Equals("SUCCESS")) { BO.CompanyCaseConsentApproval companyCaseConsentApprovalBO = new BO.CompanyCaseConsentApproval(); companyCaseConsentApprovalBO.CaseId = caseid; companyCaseConsentApprovalBO.CompanyId = companyid; companyCaseConsentApprovalBO.ConsentGivenTypeId = 1; var result = this.Save(companyCaseConsentApprovalBO); if (result is BO.ErrorObject) { return(result); } } return(docInfo); } }
public override object DownloadSignedConsent <T>(T entity) { Object docInfo = null; try { BO.CompanyCaseConsentBase64 CompanyCaseConsentBase64BO = (BO.CompanyCaseConsentBase64)(object) entity; var consentData = _context.CompanyCaseConsentApprovals.Where(compcase => compcase.CompanyId == CompanyCaseConsentBase64BO.CompanyId && compcase.CaseId == CompanyCaseConsentBase64BO.CaseId && (compcase.IsDeleted.HasValue == false || (compcase.IsDeleted.HasValue == true && compcase.IsDeleted.Value == false))).FirstOrDefault(); if (consentData != null) { return new BO.ErrorObject { errorObject = "", ErrorMessage = "Company, Case and Consent data already exists.", ErrorLevel = ErrorLevel.Error } } ; string fileName = CompanyCaseConsentBase64BO.CaseId + "-" + CompanyCaseConsentBase64BO.CompanyId; string signpath = ConfigurationManager.AppSettings.Get("LOCAL_PATH") + @"app_data\uploads\sign-" + fileName + "-" + Guid.NewGuid().ToString() + ".jpeg"; //if (File.Exists(signpath)) File.Delete(signpath); using (FileStream imageFile = new FileStream(signpath, FileMode.Create)) { byte[] bytes = System.Convert.FromBase64String(CompanyCaseConsentBase64BO.Base64Data.Replace("data:image/jpeg;base64,", string.Empty)); imageFile.Write(bytes, 0, bytes.Length); imageFile.Flush(); imageFile.Dispose(); string consentPdf = GenerateConsentDocument(CompanyCaseConsentBase64BO.CaseId, CompanyCaseConsentBase64BO.CompanyId, signpath, true); FileUpload.FileUploadManager fileUploadManager = new FileUpload.FileUploadManager(_context); docInfo = (Object)fileUploadManager.UploadSignedConsent(CompanyCaseConsentBase64BO.CaseId, "consent_" + CompanyCaseConsentBase64BO.CompanyId, consentPdf); } } catch (Exception err) { return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Error while saving consent", ErrorLevel = ErrorLevel.Error }); } return((object)docInfo); }