Exemplo n.º 1
0
        public void ProcessRequest(HttpContext context)
        {
            int    weekNumber = int.Parse(context.Request["weekNumber"]);
            String shiftName  = context.Request["shiftName"];

            SwarmProfileDataset swarmTeams = context.Application["SwarmProfileDataset"] as SwarmProfileDataset;
            RosterDataset       shift      = context.Application["RosterDataset"] as RosterDataset;

            if (shift.Rosters.Where(s => s.ShiftName == shiftName && s.Weeks.Keys.Contains(weekNumber)).Count() > 0)
            {
                Roster        targetRoster      = shift.Rosters.Where(s => s.ShiftName == shiftName && s.Weeks.Keys.Contains(weekNumber)).FirstOrDefault();
                List <string> resourcesForShift = new List <string>();

                foreach (int empId in targetRoster.Weeks[weekNumber])
                {
                    if (swarmTeams.Profiles.Where(p => p.EmpNumber == empId).Count() > 0)
                    {
                        SwarmProfile match = swarmTeams.Profiles.Where(p => p.EmpNumber == empId).FirstOrDefault();
                        resourcesForShift.Add(match.Name + @"/" + match.EmpNumber);
                    }
                }

                JavaScriptSerializer serializer = new JavaScriptSerializer();
                context.Response.ContentType = "text/plain";
                context.Response.Write(serializer.Serialize(resourcesForShift));
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            int    issueNumber   = int.Parse(context.Request["issueNumber"]);
            String predictedTeam = context.Request["team"];

            if (((IssueDataset)context.Application["IssueDataset"]).Issues.Where(i => i.IssueId == issueNumber).Count() > 0)
            {
                int assignedAgent;

                Issue foundIssue = ((IssueDataset)context.Application["IssueDataset"]).Issues.Where(i => i.IssueId == issueNumber).FirstOrDefault();

                SwarmProfileDataset swarmPool    = context.Application["SwarmProfileDataset"] as SwarmProfileDataset;
                List <SwarmProfile> matchingTeam = swarmPool.Profiles.Where(p => p.TeamName == predictedTeam).ToList();
                if (matchingTeam.Count > 0)
                {
                    // Randomly select an asignee from the team.
                    Random rnd         = new Random();
                    int    randomIndex = rnd.Next(matchingTeam.Count);
                    assignedAgent = matchingTeam[randomIndex].EmpNumber;

                    ((IssueDataset)context.Application["IssueDataset"]).Issues.Where(i => i.IssueId == issueNumber).FirstOrDefault().AssignedTo = assignedAgent;
                    ((IssueDataset)context.Application["IssueDataset"]).Issues.Where(i => i.IssueId == issueNumber).FirstOrDefault().Progress   = 30;
                }
            }
        }
Exemplo n.º 3
0
        void Application_Start(object sender, EventArgs e)
        {
            // Code that runs on application startup
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // Init DataSets
            Application["IssueDataset"]        = new IssueDataset();
            Application["SwarmProfileDataset"] = new SwarmProfileDataset();
            Application["RosterDataset"]       = new RosterDataset();
        }