public MentorManager(Mentor_MatchineEntities db, MentorRepository mr, MentorPreferencesRepository mpr, MentorLanguagesRepository mlr) { _db = db; mentorRepository = mr; mentorPreferencesRepository = mpr; mentorLanguagesRepository = mlr; }
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")); }
public MentorFactory(MentorLanguagesRepository mlr, MentorPreferencesRepository mpr, IMatcher matcher) { _mlr = mlr; _mpr = mpr; _matcher = matcher; }