コード例 #1
0
 public bool AddTeacherLanguage(QualificationParam model)
 {
     try
     {
         UnitOfWork      uow    = new UnitOfWork();
         var             userId = Session["UserId"].ToString();
         TeacherLanguage tl     = new TeacherLanguage();
         tl.LangLevel = model.LanguageLevel;
         tl.Language  = model.LanguageID;
         tl.TeacherID = userId;
         uow.TeacherLanguages.Insert(tl);
         uow.Save();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
コード例 #2
0
        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));
        }