Esempio n. 1
0
 private void detach_OrgMemMemTags(OrgMemMemTag entity)
 {
     this.SendPropertyChanging();
     entity.MemberTag = null;
 }
Esempio n. 2
0
        public ActionResult SwapPlayers(string pOne, string pTwo)
        {
            string[] splitOne = pOne.Split('-');
            int orgIDOne = splitOne[0].ToInt();
            int peopleIDOne = splitOne[1].ToInt();

            string[] splitTwo = pTwo.Split('-');
            int orgIDTwo = splitTwo[0].ToInt();
            int peopleIDTwo = splitTwo[1].ToInt();

            var playerOne = (from e in DbUtil.Db.OrganizationMembers
                          where e.OrganizationId == orgIDOne
                          where e.PeopleId == peopleIDOne
                          select e).SingleOrDefault();

            var playerTwo = (from e in DbUtil.Db.OrganizationMembers
                             where e.OrganizationId == orgIDTwo
                             where e.PeopleId == peopleIDTwo
                             select e).SingleOrDefault();


            if (playerOne != null)
            {
                var pOneTag = playerOne.OrgMemMemTags.FirstOrDefault(t1 => t1.MemberTag.Name.StartsWith("TM:"));
                if (playerTwo != null)
                {
                    var pTwoTag = playerTwo.OrgMemMemTags.FirstOrDefault(t2 => t2.MemberTag.Name.StartsWith("TM:"));

                    if (pTwoTag != null)
                    {
                        var pOneNew = new OrgMemMemTag
                        {
                            PeopleId = peopleIDOne,
                            OrgId = pTwoTag.OrgId,
                            MemberTagId = pTwoTag.MemberTagId
                        };

                        DbUtil.Db.OrgMemMemTags.DeleteOnSubmit(pTwoTag);
                        DbUtil.Db.OrgMemMemTags.InsertOnSubmit(pOneNew);
                    }
                }

                if (pOneTag != null)
                {
                    var pTwoNew = new OrgMemMemTag
                    {
                        PeopleId = peopleIDTwo,
                        OrgId = pOneTag.OrgId,
                        MemberTagId = pOneTag.MemberTagId
                    };

                    DbUtil.Db.OrgMemMemTags.DeleteOnSubmit(pOneTag);
                    DbUtil.Db.OrgMemMemTags.InsertOnSubmit(pTwoNew);
                }
            }

            DbUtil.Db.SubmitChanges();
            return Content("Complete");
        }
Esempio n. 3
0
        public void createTeamGroups()
        {
            var c = from e in DbUtil.Db.OrganizationMembers
                    where e.Score == 0
                    where e.OrganizationId == orgid
                    select e;

            foreach (var coach in c)
            {
                var name = "TM: " + coach.Person.Name;

                var group = DbUtil.Db.MemberTags.SingleOrDefault(g => g.Name == name && g.OrgId == orgid);
                if (group != null) continue;

                group = new MemberTag
                {
                    Name = name,
                    OrgId = orgid
                };

                DbUtil.Db.MemberTags.InsertOnSubmit(group);
            }

            DbUtil.Db.SubmitChanges();

            // Refresh the list
            var teamList = (from e in DbUtil.Db.MemberTags
                            where e.OrgId == orgid
                            where e.Name.StartsWith( "TM:" )
                            select e).ToList();

            var p = (from e in DbUtil.Db.OrganizationMembers
                     where e.Score != 0
                     where e.OrganizationId == orgid
                     select e).ToList();

            var teams = teamList.Count();
            var players = p.Count();
            var perTeam = Math.Floor((double)players / teams);
            var passes = Math.Floor((double)perTeam / 2);

            for (int iX = 0; iX < passes; iX++)
            {
                foreach (var team in teamList)
                {
                    var tagTop = new OrgMemMemTag();
                    var tagBot = new OrgMemMemTag();

                    var top = p.OrderByDescending(t => t.Score).ThenByDescending(t => t.PeopleId).Take(1).SingleOrDefault();
                          var bot = p.OrderBy(t => t.Score).ThenBy(t => t.PeopleId).Take(1).SingleOrDefault();

                    tagTop.MemberTagId = team.Id;
                    tagTop.OrgId = orgid;
                    tagTop.PeopleId = top.PeopleId;

                    tagBot.MemberTagId = team.Id;
                    tagBot.OrgId = orgid;
                    tagBot.PeopleId = bot.PeopleId;

                    DbUtil.Db.OrgMemMemTags.InsertOnSubmit(tagTop);
                    DbUtil.Db.OrgMemMemTags.InsertOnSubmit(tagBot);

                    p.Remove(top);
                    p.Remove(bot);
                }
            }

            if (p.Count() > 0)
            {
                foreach (var team in teamList)
                {
                    var tagBot = new OrgMemMemTag();

                          var bot = p.OrderBy(t => t.Score).ThenBy(t => t.PeopleId).Take(1).SingleOrDefault();
                    if (bot == null) break;

                    tagBot.MemberTagId = team.Id;
                    tagBot.OrgId = orgid;
                    tagBot.PeopleId = bot.PeopleId;

                    DbUtil.Db.OrgMemMemTags.InsertOnSubmit(tagBot);

                    p.Remove(bot);
                }
            }

            if (p.Count() > 0)
            {
                foreach (var team in teamList)
                {
                    var tagBot = new OrgMemMemTag();

                          var bot = p.OrderBy(t => t.Score).ThenBy(t => t.PeopleId).Take(1).SingleOrDefault();
                    if (bot == null) break;

                    tagBot.MemberTagId = team.Id;
                    tagBot.OrgId = orgid;
                    tagBot.PeopleId = bot.PeopleId;

                    DbUtil.Db.OrgMemMemTags.InsertOnSubmit(tagBot);

                    p.Remove(bot);
                }
            }

            DbUtil.Db.SubmitChanges();
        }
Esempio n. 4
0
		private void detach_OrgMemMemTags(OrgMemMemTag entity)
		{
			this.SendPropertyChanging();
			entity.OrganizationMember = null;
		}
Esempio n. 5
0
 private void detach_OrgMemMemTags(OrgMemMemTag entity)
 {
     this.SendPropertyChanging();
     entity.OrganizationMember = null;
 }
Esempio n. 6
0
 private void detach_OrgMemMemTags(OrgMemMemTag entity)
 {
     this.SendPropertyChanging();
     entity.MemberTag = null;
 }