public ActionResult Index() { //Case end user var currentUser = SessionManager.GetUserSession(); //If an EndUser is connected if (currentUser.IsEndUser()) { DerModel derModel = this.GetDataModelForEndUser(); SessionManager.Set<string>(SIGNED_DOC_PATH_FILENAME, derModel.GeneratedDocPathFileName); return View("DerClient", derModel); } Guid? customerId = GetTargetCustomer(); DerModel model = new DerModel(); if (customerId.HasValue) { if (!string.IsNullOrEmpty(Request.Params[_FD_TargetPage])) /// Check !!! { return RedirectToAction(Request.Params[_FD_TargetPage]); } DerModel derModel = this.GetViewDataModel(customerId.Value); return View(derModel); } else { return RedirectToAction("Index", "Client"); } }
private string CheckInsufficientCredits(DerModel pDerModel) { CustomerProspect customer = null; string message = string.Empty; var currentUser = SessionManager.GetUserSession(); if (currentUser.IsEndUser()) { customer = SessionManager.GetCustomerProspectSession(); } else { customer = pDerModel.TargetCustomerProspect; } if (customer != null) { if (!CreditOperationBL.HasFirmInstitutionSufficientCredit(customer.FirmInstitution.idFirmInstitution, CreditOperationBL.OperationType.SIGNATURE_DER.ToString())) //OR :MISE_AU_COFFRE_MANUELLE_DOCUMENT_MISSION { message = LanguageDataReg.GetContent("sign_credit_error"); } } return message; }
private DER CreateDer(DerModel derModel, RegulatoryDocumentModel.Status docStatus = RegulatoryDocumentModel.Status.Created) { DER der = new DER() { idDer = GuidHelper.GenerateGuid(), idCustomerProspect = derModel.TargetCustomerProspect.idCustomer, Status = docStatus.ToString(), DateCreated = DateTime.Now, DateUpdated = DateTime.Now, IsDerFromModel = true, AttachPresentation = true, IsPresentationFromModel = true }; DerBL.InsertDER(der); return der; }
public void UpdateData(DerModel _derData) { ViewBag.Error = null; ViewBag.Ok = null; Guid? customerId = this.GetTargetCustomer(); DER der = DerBL.GetLatestDERByIdCustomer(customerId.Value); // bool isAttachInformationCard = Convert.ToBoolean(Request.Params["AttachInformationCardText"].ToString()); bool isDerFromFirmModel = Convert.ToBoolean(Request.Params["IsInformationCardFromModelText"].ToString()); bool isAttachPresentation = Convert.ToBoolean(Request.Params["AttachPresentationText"].ToString()); bool isPresentationFromFirmModel = Convert.ToBoolean(Request.Params["IsPresentationInformationCardFromModelText"].ToString()); try { CustomerProspect customer = CustomerProspectBL.GetCustomerProspectById(customerId.Value); #region Traitement Fiche d'information légale (appelé par la suite : "Document d'entree en relation") /* * Dans le cas où l'utilisateur choisit "J'utilise mon modèle", cela suppose * que l'administrateur de l'établissement ait préalablement uploadé les * documents */ if (isDerFromFirmModel) { // Tester si les documents ont été bien uploadés // on enregistre if (!string.IsNullOrEmpty(customer.FirmInstitution.LegalInformationFile)) { der.IsDerFromModel = true; } else { /* * "Le document d'entrée en relation de votre établissement n'a pas été renseignée par votre administrateur" * NB : #4608 : ne pas afficher l'erreur si l'utilisateur a décidé de ne pas joindre le fichier */ //if (isAttachInformationCard) //{ der.IsDerFromModel = false; ViewBag.Error = ViewBag.Error + LanguageDataReg.GetContent("doc_d_entree_en_relation_non_renseigné"); // } } } else { der.IsDerFromModel = false; } #endregion #region Traitement de la Présentation de la société /* * Dans le cas où l'utilisateur choisit "J'utilise mon modèle", cela suppose * que l'administrateur de l'établissement ait préalablement uploadé les * documents */ if (isPresentationFromFirmModel) { // Tester si les documents ont été bien uploadés // on enregistre if (!string.IsNullOrEmpty(customer.FirmInstitution.PresentationFile)) { der.IsPresentationFromModel = true; } else { /* * "La présentation de votre société n'a pas été renseignée par votre administrateur" * NB : #4608 : ne pas afficher l'erreur si l'utilisateur a décidé de ne pas joindre le fichier */ if (isAttachPresentation) { der.IsPresentationFromModel = false; ViewBag.Error = ViewBag.Error + LanguageDataReg.GetContent("presentation_etab_non_renseigné"); } } } else { der.IsPresentationFromModel = false; } #endregion #region Sauvegarde du DER // 2- update avec le statut InProgress if (ViewBag.Error == null) { der.Status = RegulatoryDocumentModel.Status.InProgress.ToString(); der.DateUpdated = DateTime.Now; // der.AttachInformationCard = isAttachInformationCard; der.AttachPresentation = isAttachPresentation; DerBL.Update(der); //string documentLabel = LanguageData.GetContent("du_der"); ViewBag.Ok = string.Format(LanguageData.GetContent("save_success")); } #endregion } catch (Exception ex) { ViewBag.Error = ex.Message; Log.AppendException(ex); } //If there is message, show it this.SetMessage(); }
public DerModel GetViewDataModel(Guid idTargetCustomer) { DerModel DERModel = new DerModel(); DERModel.TargetCustomerProspect = CustomerProspectBL.GetCustomerProspectById(idTargetCustomer); //1- Get latest DER document for the customer or create if no doc DER der = DerBL.GetLatestDERByIdCustomer(idTargetCustomer); //2- If null, create one //If current user is END-USER, don't create new document var currentUser = SessionManager.GetUserSession(); if (!currentUser.IsEndUser()) { if (der == null) { der = this.CreateDer(DERModel); //update customer status DERModel.TargetCustomerProspect.DerStatus = RegulatoryDocumentModel.Status.Created.ToString(); CustomerProspectBL.Update(DERModel.TargetCustomerProspect); } else if (der.Status == RegulatoryDocumentModel.Status.Canceled.ToString() || der.Status == RegulatoryDocumentModel.Status.Completed.ToString()) { //3- Check if canceled or completed : create a new document in progress //Update : #4535 / #4536 : always create an initial mission document => status = Created der = this.CreateDer(DERModel); //update customer DERModel.TargetCustomerProspect.DerStatus = RegulatoryDocumentModel.Status.Created.ToString(); CustomerProspectBL.Update(DERModel.TargetCustomerProspect); } } else { if (der == null) { der = new DER(); } } DERModel.Der = der; //4- Signature log DERModel.SignatureInformation = this.BuildSignatureLog(DERModel.Der); //5- Check credits DERModel.InsufficientCreditMessage = this.CheckInsufficientCredits(DERModel); //6- Signature controller DERModel.SignatureController = SignatureDocumentBL.GetSignatureControllerName(der.Status, der.idDTPUserAccess); return DERModel; }