Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }