public string SaveTeacherAccount(TeacherAccountDetail accountDetail) { try { var userId = Session["UserId"].ToString(); UnitOfWork uow = new UnitOfWork(); TeacherAccountDetail account = uow.TeacherAccountDetails.Get(x => x.TeacherId == userId).FirstOrDefault(); if (account != null) { account.AccountName = accountDetail.AccountName; account.AccountNo = accountDetail.AccountNo; account.BranchCode = accountDetail.BranchCode; account.BranchName = accountDetail.BranchName; account.PinNo = accountDetail.PinNo; } else { account = new TeacherAccountDetail(); account.TeacherId = userId; account.AccountName = accountDetail.AccountName; account.AccountNo = accountDetail.AccountNo; account.BranchCode = accountDetail.BranchCode; account.BranchName = accountDetail.BranchName; account.PinNo = accountDetail.PinNo; account.Status = 1; uow.TeacherAccountDetails.Insert(account); } uow.Save(); return("true"); } catch (Exception) { return("error"); } }
public ActionResult Tutor(TutorRegistration userView, IEnumerable <HttpPostedFileBase> filesF) { UnitOfWork uow = new UnitOfWork(); ViewBag.Countries = uow.Countries.Get().ToList(); ViewBag.Subjects = uow.Subjects.Get().ToList(); //ViewBag.Languages = GetLanguages(); ViewBag.Languages = uow.Languages.Get(x => x.IsActive == true).ToList(); ViewBag.LanguageLevel = GetLanguageLevel(); if (!ModelState.IsValid) { userView.ContactNumber = userView.FullPhone; ModelState.AddModelError("error", Resources.Resources.ValidInfo); return(View(userView)); } string encryptedEmail = Encryptor.Encrypt(userView.Email); string encryptedPassword = Encryptor.Encrypt(userView.Password); string Token = Encryptor.Encrypt(DateTime.Now.Ticks.ToString()); UserService us = new UserService(); if (!us.DoesEmailExist(encryptedEmail)) { bool contactVerified = us.DoesContactNoExist(userView.ContactNumber); if (!contactVerified) { User user = new User() { UserID = Guid.NewGuid().ToString(), FirstName = userView.FirstName, LastName = userView.LastName, ContactNumber = userView.FullPhone, CreationDate = DateTime.Now, Email = encryptedEmail, Password = encryptedPassword, UserRole = (int)UserRoles.Teacher, Status = (int)UserStatus.Pending, ValidationToken = Token, Source = (int)SignupSource.App, Picture = "NoImage.jpg", Country = userView.Country }; TeacherDetail teacherDetail = new TeacherDetail { TeacherID = user.UserID, University = userView.University, SubjectExperties = userView.Subject, Qualification = userView.HigherQualification, Description = userView.Description, PreferedTime = userView.PreferedTime, YearsExperience = userView.Experience, CreationDate = DateTime.Now, Status = 1 }; TeacherAccountDetail accountDetail = new TeacherAccountDetail { AccountName = userView.AccountHolder, AccountNo = userView.AccountNo, BranchCode = userView.BranchCode, BranchName = userView.BranchName, PinNo = userView.Pin, Status = 1, TeacherId = user.UserID }; if (userView.SubjectTutored != null) { for (int i = 0; i < userView.SubjectTutored.Length; i++) { TeacherStage teacherStage = new TeacherStage { SubjectID = Convert.ToInt32(userView.SubjectTutored[i]), TeacherID = user.UserID }; uow.TeacherStages.Insert(teacherStage); } } //Teacher Languages //userView.Language = userView.Language.Remove(0, 1); //string[] langs = Regex.Split(userView.Language, "-"); //if(langs != null) //{ // for (int i = 0; i < langs.Length; i++) // { // string[] langa = Regex.Split(langs[i], ","); // TeacherLanguage lang = new TeacherLanguage // { // Language = Convert.ToInt32(langa[0]), // LangLevel = Convert.ToInt32(langa[1]), // TeacherID = user.UserID // }; // TeacherLanguage teacherLang = uow.TeacherLanguages.Get() // .Where(a => a.LangLevel == lang.LangLevel && a.Language == lang.Language && a.TeacherID == lang.TeacherID).FirstOrDefault(); // if (teacherLang == null) // { // uow.TeacherLanguages.Insert(lang); // } // } //} TeacherLanguage lang = new TeacherLanguage { Language = Convert.ToInt32(userView.Language), LangLevel = Convert.ToInt32(userView.LangLevel), TeacherID = user.UserID }; uow.TeacherLanguages.Insert(lang); uow.Users.Insert(user); uow.TeacherDetails.Insert(teacherDetail); uow.TeacherAccountDetails.Insert(accountDetail); if (filesF != null) { foreach (var file in filesF) { if (file != null) { string fileName = Guid.NewGuid().ToString() + Path.GetFileName(file.FileName); string path = Path.Combine(Server.MapPath("~/Content/images/teacher/"), fileName); file.SaveAs(path); TeacherFile teacherFile = new TeacherFile { FileName = fileName, TeacherID = user.UserID, Type = 1 }; uow.TeacherFiles.Insert(teacherFile); } } } uow.Save(); //send notification to admin Common.AddNotification(user.FirstName + " submitted his profile", "", user.UserID, "admin", "/admin/detail?id=" + user.UserID, (int)NotificationType.Teacher); //send confirmation Email start var scheme = Request.Url.Scheme + "://"; var host = Request.Url.Host + ":"; var port = Request.Url.Port; string host1 = scheme + host + port; string activationLink = "<a href='" + host1 + "/account/emailconfirmation?token=" + Token + "'>" + Resources.Resources.ClickHere + "</a>"; Utility.SendAccountActivationEmail(userView.Email, userView.FirstName, activationLink); //send confirmation Email end ModelState.AddModelError("success", Resources.Resources.AccountSuccess); TempData["Success"] = Resources.Resources.AccountSuccess; return(RedirectToAction("Login", "Account")); } else { ModelState.AddModelError("error", Resources.Resources.PhoneExists); } } else { ModelState.AddModelError("error", Resources.Resources.EmailAlreadyExists); } return(View(userView)); }