コード例 #1
0
        public HttpResponseMessage UpdateTeamStructure(HttpRequestMessage request, [FromBody] TeamStructure tsModel)
        {
            return(GetHttpResponse(request, () =>
            {
                var ts = _MPRCoreService.UpdateTeamStructure(tsModel);

                return request.CreateResponse <TeamStructure>(HttpStatusCode.OK, ts);
            }));
        }
コード例 #2
0
        public T1 GetView(ApplicationDbContext db)
        {
            int?id = Parameters as int?;

            if (id == null)
            {
                return(null);
            }
            Team team = db.T_Teams.Find(id);

            if (team == null)
            {
                return(null);
            }

            Employee manager     = null;
            string   managerName = "";

            manager = db.T_Employees.Find(team.ManagerId);
            if (manager != null)
            {
                managerName = manager.FirstName + " " + manager.LastName;
            }


            TeamStructure teamStructure = new TeamStructure();
            TeamExtended  teamExtended  = new TeamExtended()
            {
                ManagerName = managerName,
                Name        = team.Name
            };

            List <EmployeeExtended> TeamMembers = new List <EmployeeExtended>();

            teamStructure.TeamMembers =
                (from e in db.T_Employees
                 join p in db.T_Positions on e.PositionId equals p.Id
                 into Joinp
                 from jp in Joinp.DefaultIfEmpty()
                 where e.TeamId == id
                 orderby e.FirstName + e.LastName
                 select new EmployeeExtended
            {
                FirstName = e.FirstName,
                LastName = e.LastName,
                PositionName = jp.Name
            }).ToList();

            teamStructure.TeamExtended = teamExtended;

            return(teamStructure as T1);
        }
コード例 #3
0
        public HttpResponseMessage TeamStructureTop1(HttpRequestMessage request, string branch, string defcode, string year)
        {
            return(GetHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                TeamStructure ts = _MPRCoreService.GetTeamStructureTop1(branch, defcode, year);

                response = request.CreateResponse <TeamStructure>(HttpStatusCode.OK, ts);

                return response;
            }));
        }
コード例 #4
0
        public TeamStructure GetTeam(int TeamId)
        {
            using (var context = new LoLEsportsDbContext())
            {
                using (var dbContextTransaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        TeamStructure data  = new TeamStructure();
                        Coach         coach = context.Coach.Where(i => i.CoachId == context.CompetitorTeamRef.Where(x => x.TeamId == TeamId).Select(m => m.CoachId).FirstOrDefault()).FirstOrDefault();

                        if (coach == null)
                        {
                            data.error   = 1;
                            data.message = "There is no coach available for this team.";
                            return(data);
                        }
                        Person coachPerson = context.Person.Where(i => i.PersonId == coach.PersonId).FirstOrDefault();
                        Team   team        = context.Team.Where(i => i.TeamId == TeamId).FirstOrDefault();
                        data.TeamLogo    = team.TeamLogo;
                        data.TeamName    = team.TeamName;
                        data.TeamPicture = team.TeamPicture;
                        data.TeamId      = TeamId;

                        data.CoachName = coachPerson.PersonName;
                        data.CoachIgn  = coach.CoachIgn;
                        data.ids       = new List <int>();

                        var t = context.CompetitorTeamRef.Where(i => i.TeamId == TeamId).Select(x => x.PlayerId).ToList();
                        t.ForEach(x =>
                        {
                            data.ids.Add(x);
                        });

                        dbContextTransaction.Commit();
                        data.error = 0;
                        return(data);
                    }
                    catch (Exception e)
                    {
                        dbContextTransaction.Rollback();
                        TeamStructure data = new TeamStructure();
                        data.error   = 1;
                        data.message = e.ToString();

                        return(data);
                    }
                }
            }
        }
コード例 #5
0
        public HttpResponseMessage GetRatios(HttpRequestMessage request, int Team_StructureId)
        {
            return(GetHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                TeamStructure ts = _MPRCoreService.GetTeamStructure(Team_StructureId);

                // notice no need to create a seperate model object since CaptionMapping entity will do just fine
                response = request.CreateResponse <TeamStructure>(HttpStatusCode.OK, ts);

                return response;
            }));
        }
コード例 #6
0
        public HttpResponseMessage DeleteTeamStructure(HttpRequestMessage request, [FromBody] int Team_StructureId)
        {
            return(GetHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                // not that calling the WCF service here will authenticate access to the data
                TeamStructure ts = _MPRCoreService.GetTeamStructure(Team_StructureId);

                if (ts != null)
                {
                    _MPRCoreService.DeleteTeamStructure(Team_StructureId);

                    response = request.CreateResponse(HttpStatusCode.OK);
                }
                else
                {
                    response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No Team Structure found under the ID.");
                }

                return response;
            }));
        }