Пример #1
0
        public ActionResult Mentor(MentorFormModel mentor)
        {
            if (ModelState.IsValid)
            {
                using (var db = new Mentor_MatchineEntities())
                {
                    var mlr      = new MenteeLanguagesRepository(db);
                    var mentorlr = new MentorLanguagesRepository(db);
                    var mpr      = new MentorPreferencesRepository(db);
                    var matchesR = new MatchesRepository(db);
                    var mr       = new MenteeRepository(db);
                    var mentorR  = new MentorRepository(db);

                    var manager = new Director();
                    var builder = new SimpleMatcherBuilder();
                    manager.Construct(builder, mlr, mr, matchesR);
                    var matcher = builder.GetResult();

                    var MentorFactory = new MentorFactory(mentorlr, mpr, matcher);
                    var email         = new EmailSender();

                    MentorManager mentorManager = new MentorManager(db, mentorR, mpr, mentorlr);
                    int           id            = mentorManager.AddMentorFromForm(mentor);

                    var mentorUser = MentorFactory.GetUser(mentorR.FindById(id));
                    mentorUser.Id = id;
                    var matches = mentorUser.Match();

                    var f      = mentorR.FindById(id).C_Mentees;
                    var emails = new List <String>();
                    foreach (int i in matches)
                    {
                        emails.Add(mr.FindById(i).Email);
                        f = f - 1;
                    }
                    mentorR.FindById(id).C_Mentees = f;
                    foreach (string e in emails)
                    {
                        email.SendEmail(e);
                    }
                    var languages = db.Lang.Select(l => new {
                        LangID   = l.LanguageID,
                        Language = l.SpokenLang
                    }).ToList();
                    var nationalities = db.Nationality.Select(l => new {
                        NatID       = l.NationalityID,
                        Nationality = l.Nationality1
                    }).ToList();
                    ViewBag.Languages     = new MultiSelectList(languages, "LangID", "Language");
                    ViewBag.Nationalities = new MultiSelectList(nationalities, "NatID", "Nationality");
                    return(View("Mentor"));
                }
            }

            return(View("~/Views/Home/Index.cshtml"));
        }
Пример #2
0
        public int AddMentorFromForm(MentorFormModel mentor)
        {
            var m = new Mentor();

            m.Age        = mentor.Age;
            m.Name       = mentor.Name;
            m.Surname    = mentor.Surname;
            m.StartDate  = DateTime.Parse(mentor.StartDate);
            m.Disability = Convert.ToByte(mentor.Disability);
            m.Gender     = mentor.Gender.ToString();
            m.Email      = mentor.Email;
            m.Phone      = mentor.Phone;
            m.C_Mentees  = mentor.Mentees;

            var AutoID = GetNextMentorID();

            mentorRepository.Add(m);

            foreach (string language in mentor.Languages)
            {
                var ml = new MentorLanguage();
                ml.MentorID = AutoID;
                System.Diagnostics.Debug.WriteLine(language.ToString());
                ml.LanguageID = Int32.Parse(language);
                mentorLanguagesRepository.Add(ml);
            }
            if (mentor.Nationalities != null)
            {
                foreach (string nationality in mentor.Nationalities)
                {
                    var prefNat = new MentorPreferences();
                    prefNat.MentorID      = AutoID;
                    prefNat.NationalityID = Int32.Parse(nationality);
                    mentorPreferencesRepository.Add(prefNat);
                }
            }
            return(AutoID);
        }