public void Construct(MatcherBuilder builder, MenteeLanguagesRepository mlr, MenteeRepository mr, MatchesRepository matches)

        {
            builder.BuildMenteeRep(mr);
            builder.BuildMLRep(mlr);
            builder.BuildMatchesR(matches);
        }
示例#2
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"));
        }
 public override void BuildMenteeRep(MenteeRepository mr)
 {
     _SimpleMatcher.MenteeR = mr;
 }
 public abstract void BuildMenteeRep(MenteeRepository mr);
示例#5
0
 public MenteeManager(Mentor_MatchineEntities db)
 {
     _db = db;
     menteeRepository          = new MenteeRepository(_db);
     menteeLanguagesRepository = new MenteeLanguagesRepository(_db);
 }