public ActionResult Configuration(int id = 0) { Subscription subscription = db.Subscription.Where(sub => sub.IdSubscription == id).FirstOrDefault(); // Si souscription payée if (subscription != null && subscription.IsPaid == true) { // si la Firm correspondant ne possède pas encore un admin if (subscription.FirmInstitution.idUserCreated == null) { UserConfigurationModel objUCM = new UserConfigurationModel(); objUCM.IdFirmInstitution = subscription.IdFirmInstitution; objUCM.IdSubscription = subscription.IdSubscription; return View(objUCM); } else { return RedirectToAction("Index", "Home", null); // TODO: à rediriger vers une page X à determiner } } else { var languageData = PageLanguageHelper.GetLanguageContent("Public", "Configuration"); ViewBag.ShowInfo = languageData.GetContent("Config_Unpaid"); return View(); } }
public ActionResult Configuration(UserConfigurationModel objUC) { try { if (ModelState.IsValid) { var languageData = PageLanguageHelper.GetLanguageContent("Public", "Configuration"); // si l'objet existe bien, et que les 2 mots de passe correspondent bien, on enregistre le USER if (objUC != null && objUC.Password.CompareTo(objUC.PasswordConfirmation) == 0) { // Tester si l'email est deja existant User user = UserBL.GetUserByEmail(objUC.Email); if (user == null) //Si non existant { UserProfile objUserProfile = UserProfileBL.GetUserProfileByProfileName(UserProfileBL.Administrator); if (objUserProfile != null) { if (UserBL.ValidatePassword(objUC.Password)) { if (!UserBL.IsEmailUsed(objUC.Email)) { #region "Enregistrement de l'USER" Upsilab.Data.Model.User objUser = new Upsilab.Data.Model.User() { idUser = Guid.NewGuid(), idUserProfile = objUserProfile.idUserProfile, UserLogin = objUC.Email, UserPassword = objUC.Password, UserEmail = objUC.Email, UserName = objUC.UserName, UserFirstName = objUC.UserFirstName, UserMobilePhone = objUC.UserMobilePhone, DateCreated = DateTime.Now, IsActive = true }; UserBL.CreateUser(objUser, objUC.Password); #endregion FirmInstitution objFI = FirmInstitutionBL.GetFirmInstitutionByIdFirmInstitution(objUC.IdFirmInstitution); #region Création de l'adviser correspondant à l'admin FirmInstitutionAdviser _adv = new FirmInstitutionAdviser(); _adv.idUser = objUser.idUser; _adv.idFirmInstitution = objFI.idFirmInstitution; _adv.DateCreated = DateTime.Now; Business.Configuration.FirmInstitutionAdviserBL.CreateAdminAdviser(_adv, objUser); #endregion #region "Mise à jour de la FirmInstitution (ajout de IdUserCreated)" if (objFI != null) { objFI.idUserCreated = objUser.idUser; using (UpsilabEntities context = new UpsilabEntities()) { context.FirmInstitution.Attach(objFI); context.ObjectStateManager.ChangeObjectState(objFI, System.Data.EntityState.Modified); context.SaveChanges(); } } #endregion #region "Envoi de mail de remerciement" if (objFI != null) { Subscription objSubscription = db.Subscription.Where(sub => sub.IdSubscription == objUC.IdSubscription).FirstOrDefault(); SouscriptionBL.SendInvoiceMail(objSubscription, false); //Send to Admin } else { ViewBag.Info = languageData.GetContent("Config_MailError"); } #endregion ViewBag.Info = "Enregistrement réussi."; //If all is OK, log on the Admnistrator to the Extranet User if (SessionManager.Exists(UserBL.UserIdSessionKey)) { SessionManager.Clear(UserBL.UserIdSessionKey); } SessionManager.Add<Guid>(objUser.idUser, UserBL.UserIdSessionKey); return RedirectToAction("AuthentificationExtranetUser", "Utilisateur"); } // Fin test password } else { ViewBag.Info = languageData.GetContent("Config_PwFormatError"); } } // Fin test profil else { ViewBag.Info = languageData.GetContent("Config_ProfilError"); } } //Fin test email existant else { ViewBag.Info = "Cette adresse email est déjà enregistrée dans le système."; } } else { ViewBag.Info = languageData.GetContent("Config_PwConfirmError"); } } } catch (Exception ex) { ViewBag.Info = "Erreur: " + ex.Message; } return View(); }
public ActionResult Configuration(UserConfigurationModel objUC) { try { if (ModelState.IsValid) { var languageData = Upsilab.Business.Utility.PageLanguageHelper.GetLanguageContent("Public", "Configuration"); // si l'objet existe bien, et que les 2 mots de passe correspondent bien, on enregistre le USER if (objUC != null && objUC.Password.CompareTo(objUC.PasswordConfirmation) == 0) { // Tester si l'email est deja existant if (!UserBL.IsEmailUsed(objUC.Email)) //Ne pas tester l'email d'un client final { UserProfile objUserProfile = UserProfileBL.GetUserProfileByProfileName(UserProfileBL.Administrator); if (objUserProfile != null) { if (UserBL.ValidatePassword(objUC.Password)) { if (!UserBL.IsEmailUsed(objUC.Email)) { #region "Enregistrement de l'USER" Upsilab.Data.Model.User objUser = new Upsilab.Data.Model.User() { idUser = Guid.NewGuid(), idUserProfile = objUserProfile.idUserProfile, UserLogin = objUC.Email, UserPassword = objUC.Password, UserEmail = objUC.Email, UserName = objUC.UserName, UserFirstName = objUC.UserFirstName, UserMobilePhone = objUC.UserMobilePhone, DateCreated = DateTime.Now, IsActive = true }; UserBL.CreateUser(objUser, objUC.Password); #endregion FirmInstitution objFI = FirmInstitutionBL.GetFirmInstitutionByIdFirmInstitution(objUC.IdFirmInstitution); #region Création de l'adviser correspondant à l'admin FirmInstitutionAdviser _adv = new FirmInstitutionAdviser() { idUser = objUser.idUser, idFirmInstitution = objFI.idFirmInstitution, idFirmInstitutionParent = objFI.idFirmInstitution, DateCreated = DateTime.Now, }; Business.Configuration.FirmInstitutionAdviserBL.CreateAdminAdviser(_adv, objUser); #endregion #region "Mise à jour de la FirmInstitution (ajout de IdUserCreated)" if (objFI != null) { objFI.idUserCreated = objUser.idUser; using (UpsilabEntities context = new UpsilabEntities()) { context.FirmInstitution.Attach(objFI); context.ObjectStateManager.ChangeObjectState(objFI, System.Data.EntityState.Modified); context.SaveChanges(); } } #endregion #region "Envoi de mail de remerciement" //Ne plus envoyer l'email #8072 //if (objFI != null) //{ // Subscription objSubscription = db.Subscription.Where(sub => sub.IdSubscription == objUC.IdSubscription).FirstOrDefault(); // SouscriptionBL.SendInvoiceMail(objSubscription, false); //Send to Admin //} //else //{ // ViewBag.Info = languageData.GetContent("Config_MailError"); //} #endregion ViewBag.Info = languageData.GetContent("Config_Saved"); //If all is OK, log on the Admnistrator to the Extranet User if (SessionManager.Exists(UserBL.UserIdSessionKey)) { SessionManager.Clear(UserBL.UserIdSessionKey); } SessionManager.Add<Guid>(objUser.idUser, UserBL.UserIdSessionKey); return RedirectToAction("AuthentificationExtranetUser", "Utilisateur"); } // Fin test password } else { ViewBag.Info = string.Format("{0}<br/>", languageData.GetContent("mot_de_passe_obligatoirement")); ViewBag.Info += string.Format("- {0}<br/>", languageData.GetContent("mot_de_passe_longueur_minimale")); ViewBag.Info += string.Format("- {0}<br/>", languageData.GetContent("mot_de_passe_uniquement_chiffre_et_lettres")); ViewBag.Info += string.Format("- {0}<br/>", languageData.GetContent("mot_de_passe_au_moins_2_chiffre")); ViewBag.Info += string.Format("{0}<br/>", languageData.GetContent("mot_de_passe_sensible_a_la_casse")); } } // Fin test profil else { ViewBag.Info = languageData.GetContent("Config_ProfilError"); } } //Fin test email existant else { ViewBag.Info = languageData.GetContent("Config_UsedMail"); ; } } else { ViewBag.Info = languageData.GetContent("Config_PwConfirmError"); } } } catch (Exception ex) { ViewBag.Info = "Erreur: " + ex.Message; } return View(); }