private static bool ArchiveSignedDER(Upsilab.Data.Model.DER der) { bool bOK = true; //TODO //1- Seal and archive transaction DTPClient dtpClient = new DTPClient(der.idDictao); IList<string> documentTypesToSeal_ToArchive = new List<string>() { DTPClient.DocumentTypes.CONTRACT.ToString() }; //Seal appendix 1 : presentation de l'etablissement ? if (der.AttachPresentation) { documentTypesToSeal_ToArchive.Add(DTPClient.DocumentTypes.APPENDIX1.ToString()); } try { dtpClient.SealTransaction(documentTypesToSeal_ToArchive); dtpClient.ArchiveTransaction(documentTypesToSeal_ToArchive); dtpClient.FinishTransaction(); //can't run "finish" if already "sealed" ? } catch { } //2- Update missionDocument table der.Status = ReportBL.Status.Completed.ToString(); //If signed by the 2 parts and saved to coffrefort der.Archived = true; der.IsOriginal = true; //3- Reduice firm credit after signature + mise au coffre //TODO : don't archive, sign doc if credit is not sufficient try { CreditOperationBL.SubstractCredit(der.CustomerProspect.idFirmInstitution, CreditOperationBL.OperationType.MISE_AU_COFFRE_AUTOMATIQUE_DER.ToString(), der.CustomerProspect.idUserCreated, der.CustomerProspect.idCustomer); } catch { } //4- Save signed document to the server //a- CONTRACT ElectronicSafeDocumentBL.DocumentType docType = ElectronicSafeDocumentBL.DocumentType.FIL; //<=> DER string documentName = ElectronicSafeDocumentBL.BuildDocumentName(docType.ToString(), der.idCustomerProspect); string documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(docType.ToString(), der.CustomerProspect); string fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); Upsilab.Infrastructure.DictaoDTPServiceReference.Document dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.CONTRACT); dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //Save document to ElectronicSafe table string docLabel = LanguageContentBL.Translate("der_title"); string documentLabel = string.Format("{0} du {1}", docLabel, (der.DateUpdated.HasValue) ? der.DateUpdated.Value.ToString("dd/MM/yyyy") : der.DateCreated.ToString("dd/MM/yyyy")); ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, docType.ToString(), documentLabel, documentPath, der.idCustomerProspect, der.idDictao, null); //b- APPENDIX 1 : BS if (der.AttachPresentation) { docType = ElectronicSafeDocumentBL.DocumentType.BS; documentName = ElectronicSafeDocumentBL.BuildDocumentName(docType.ToString(), der.idCustomerProspect); documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(docType.ToString(), der.CustomerProspect); fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.APPENDIX1); if (dtpDoc != null) { dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //Save document to ElectronicSafe table documentLabel = string.Format("{0} du {1}", LanguageContentBL.Translate("der_bs_title"), (der.DateUpdated.HasValue) ? der.DateUpdated.Value.ToString("dd/MM/yyyy") : der.DateCreated.ToString("dd/MM/yyyy")); ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, docType.ToString(), documentLabel, documentPath, der.idCustomerProspect, der.idDictao, null); } } return bOK; }
private static bool ArchiveConfidentialityAgreementSignedDocument(Upsilab.Data.Model.CustomerProspect customer) { bool bOK = true; //TODO Upsilab.Data.Model.ConfidentialityAgreement confident = customer.ConfidentialityAgreement; //1- Seal and archive transaction DTPClient dtpClient = new DTPClient(confident.idDictao); IList<string> documentTypesToSeal_ToArchive = new List<string>() { DTPClient.DocumentTypes.CONTRACT.ToString() }; try { dtpClient.SealTransaction(documentTypesToSeal_ToArchive); dtpClient.ArchiveTransaction(documentTypesToSeal_ToArchive); dtpClient.FinishTransaction(); //can't run "finish" if already "sealed" ? } catch { } //2- Update report table confident.Status = ReportBL.Status.Completed.ToString(); //If signed by the 2 parts and saved to coffrefort confident.Archived = true; //3- Reduice firm credit after signature + mise au coffre //TODO : don't archive, sign doc if credit is not sufficient try { CreditOperationBL.SubstractCredit(customer.idFirmInstitution, CreditOperationBL.OperationType.MISE_AU_COFFRE_AUTOMATIQUE_ENGAGEMENT_CONFIDENTIALITE.ToString(), customer.idUserCreated, customer.idCustomer); } catch { } //4- Save signed document to the server string documentName = ElectronicSafeDocumentBL.BuildDocumentName(ElectronicSafeDocumentBL.DocumentType.EC.ToString(), customer.idCustomer); string documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(ElectronicSafeDocumentBL.DocumentType.EC.ToString(), customer); string fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); Upsilab.Infrastructure.DictaoDTPServiceReference.Document dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.CONTRACT); dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //5- Save document to ElectronicSafe table string documentLabel = "Engagement de confidentialité"; ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, ElectronicSafeDocumentBL.DocumentType.EC.ToString(), documentLabel, documentPath, customer.idCustomer, confident.idDictao, null); return bOK; }
private static bool ArchiveSignedMissionDocument(Upsilab.Data.Model.MissionDocument missionDoc) { bool bOK = true; //TODO //1- Seal and archive transaction DTPClient dtpClient = new DTPClient(missionDoc.idDictao); IList<string> documentTypesToSeal_ToArchive = new List<string>() { DTPClient.DocumentTypes.CONTRACT.ToString() }; //Seal appendix 1 : presentation de l'etablissement ? if (missionDoc.AttachPresentation) { documentTypesToSeal_ToArchive.Add(DTPClient.DocumentTypes.APPENDIX1.ToString()); } //Seal appendix 2 : document d'entree en relation ? if (missionDoc.AttachInformationCard) { documentTypesToSeal_ToArchive.Add(DTPClient.DocumentTypes.APPENDIX2.ToString()); } //Seal appendix 3 : convention de RTO ? if (missionDoc.AttachConventionRTO.HasValue && missionDoc.AttachConventionRTO.Value) { documentTypesToSeal_ToArchive.Add(DTPClient.DocumentTypes.APPENDIX3.ToString()); } try { dtpClient.SealTransaction(documentTypesToSeal_ToArchive); dtpClient.ArchiveTransaction(documentTypesToSeal_ToArchive); dtpClient.FinishTransaction(); //can't run "finish" if already "sealed" ? } catch { } //2- Update missionDocument table missionDoc.Status = ReportBL.Status.Completed.ToString(); //If signed by the 2 parts and saved to coffrefort missionDoc.Archived = true; missionDoc.IsOriginal = true; //3- Reduice firm credit after signature + mise au coffre //TODO : don't archive, sign doc if credit is not sufficient try { CreditOperationBL.SubstractCredit(missionDoc.CustomerProspect.idFirmInstitution, CreditOperationBL.OperationType.MISE_AU_COFFRE_AUTOMATIQUE_DOCUMENT_MISSION.ToString(), missionDoc.CustomerProspect.idUserCreated, missionDoc.CustomerProspect.idCustomer); } catch { } //4- Save signed document to the server //a- CONTRACT ElectronicSafeDocumentBL.DocumentType docType = (missionDoc.IsLetter) ? ElectronicSafeDocumentBL.DocumentType.LM : ElectronicSafeDocumentBL.DocumentType.RM; string documentName = ElectronicSafeDocumentBL.BuildDocumentName(docType.ToString(), missionDoc.idCustomerProspect); string documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(docType.ToString(), missionDoc.CustomerProspect); string fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); Upsilab.Infrastructure.DictaoDTPServiceReference.Document dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.CONTRACT); dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //Save document to ElectronicSafe table string missionDocLabel = (missionDoc.IsLetter) ? "Lettre de mission" : "Rapport de mission"; string documentLabel = string.Format("{0} du {1}", missionDocLabel, (missionDoc.DateUpdated.HasValue) ? missionDoc.DateUpdated.Value.ToString("dd/MM/yyyy") : missionDoc.DateCreated.ToString("dd/MM/yyyy")); ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, docType.ToString(), documentLabel, documentPath, missionDoc.idCustomerProspect, missionDoc.idDictao, null); //b- APPENDIX 1 : BS if (missionDoc.AttachPresentation) { docType = ElectronicSafeDocumentBL.DocumentType.BS; documentName = ElectronicSafeDocumentBL.BuildDocumentName(docType.ToString(), missionDoc.idCustomerProspect); documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(docType.ToString(), missionDoc.CustomerProspect); fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.APPENDIX1); if (dtpDoc != null) { dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //Save document to ElectronicSafe table documentLabel = string.Format("{0} du {1}", "Présentation de l'établissement", (missionDoc.DateUpdated.HasValue) ? missionDoc.DateUpdated.Value.ToString("dd/MM/yyyy") : missionDoc.DateCreated.ToString("dd/MM/yyyy")); ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, docType.ToString(), documentLabel, documentPath, missionDoc.idCustomerProspect, missionDoc.idDictao, null); } } //c- APPENDIX 2 : FIL => DER if (missionDoc.AttachInformationCard) { docType = ElectronicSafeDocumentBL.DocumentType.FIL; documentName = ElectronicSafeDocumentBL.BuildDocumentName(docType.ToString(), missionDoc.idCustomerProspect); documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(docType.ToString(), missionDoc.CustomerProspect); fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.APPENDIX2); if (dtpDoc != null) { dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //Save document to ElectronicSafe table documentLabel = string.Format("{0} du {1}", "Document d'entrée en relation", (missionDoc.DateUpdated.HasValue) ? missionDoc.DateUpdated.Value.ToString("dd/MM/yyyy") : missionDoc.DateCreated.ToString("dd/MM/yyyy")); ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, docType.ToString(), documentLabel, documentPath, missionDoc.idCustomerProspect, missionDoc.idDictao, null); } } // d- APPENDIX 3 : CRTO if (missionDoc.AttachConventionRTO.HasValue && missionDoc.AttachConventionRTO.Value) { docType = ElectronicSafeDocumentBL.DocumentType.CRTO; documentName = ElectronicSafeDocumentBL.BuildDocumentName(docType.ToString(), missionDoc.idCustomerProspect); documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(docType.ToString(), missionDoc.CustomerProspect); fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.APPENDIX3); if (dtpDoc != null) { dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //Save document to ElectronicSafe table documentLabel = string.Format("{0} du {1}", "Convention de RTO", (missionDoc.DateUpdated.HasValue) ? missionDoc.DateUpdated.Value.ToString("dd/MM/yyyy") : missionDoc.DateCreated.ToString("dd/MM/yyyy")); ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, docType.ToString(), documentLabel, documentPath, missionDoc.idCustomerProspect, missionDoc.idDictao, null); } } return bOK; }
private static bool ArchiveReportSignedDocument(Upsilab.Data.Model.Report report) { bool bOK = true; //TODO //1- Seal and archive transaction DTPClient dtpClient = new DTPClient(report.idDictao); IList<string> documentTypesToSeal_ToArchive = new List<string>() { DTPClient.DocumentTypes.CONTRACT.ToString() }; try { dtpClient.SealTransaction(documentTypesToSeal_ToArchive); dtpClient.ArchiveTransaction(documentTypesToSeal_ToArchive); dtpClient.FinishTransaction(); //can't run "finish" if already "sealed" ? } catch { } //2- Update report table report.Status = ReportBL.Status.Completed.ToString(); //If signed by the 2 parts and saved to coffrefort report.Archived = true; report.IsOriginal = true; //3- Reduice firm credit after signature + mise au coffre //TODO : don't archive, sign doc if credit is not sufficient try { CreditOperationBL.SubstractCredit(report.CustomerProspect.idFirmInstitution, CreditOperationBL.OperationType.MISE_AU_COFFRE_RECUEIL.ToString(), report.CustomerProspect.idUserCreated, report.CustomerProspect.idCustomer); } catch { } //4- Save signed document to the server string documentName = ElectronicSafeDocumentBL.BuildDocumentName(ElectronicSafeDocumentBL.DocumentType.RC.ToString(), report.idCustomerProspect); string documentPath = ElectronicSafeDocumentBL.BuildClientDocumentPath(ElectronicSafeDocumentBL.DocumentType.RC.ToString(), report.CustomerProspect); string fullPath = System.IO.Path.Combine(Upsilab.Business.Utility.ConfigurationManager.CoffreFortRootPath, documentPath); Upsilab.Infrastructure.DictaoDTPServiceReference.Document dtpDoc = dtpClient.GetDocumentByType(DTPClient.DocumentTypes.CONTRACT); dtpClient.SaveDocumentToFile(dtpDoc, fullPath, documentName); //5- Save document to ElectronicSafe table string documentLabel = string.Format("Questionnaire Client du {0}", (report.DateUpdated.HasValue) ? report.DateUpdated.Value.ToString("dd/MM/yyyy") : report.DateCreated.ToString("dd/MM/yyyy")); ElectronicSafeDocumentBL.SaveDocumentToDB(documentName, ElectronicSafeDocumentBL.DocumentType.RC.ToString(), documentLabel, documentPath, report.idCustomerProspect, report.idDictao, null); return bOK; }