// PUT: api/Fixture/5
 public HttpResponseMessage Put(int id, [FromBody] fixture value)
 {
     try
     {
         using (QLMamNonEntities db = new QLMamNonEntities())
         {
             fixture s = db.fixtures.SingleOrDefault(b => b.id == id);
             if (s != null)
             {
                 s.id_category_fixtures = value.id_category_fixtures;
                 s.name            = value.name;
                 s.remain_quantity = value.remain_quantity;
                 s.lose_quantity   = value.lose_quantity;
                 db.SaveChanges();
                 return(Request.CreateResponse(HttpStatusCode.OK, new fixturesDTO(s.id, Convert.ToInt64(s.id_category_fixtures), s.name, (int)(s.remain_quantity), (int)(s.lose_quantity))));
             }
             else
             {
                 return(null);
             }
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
示例#2
0
        public ActionResult DeleteConfirmed(int id)
        {
            fixture fixture = db.fixtures.Find(id);

            db.fixtures.Remove(fixture);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#3
0
 public ActionResult Edit([Bind(Include = "fixture_id,location,teamA,teamB,score,league_id")] fixture fixture)
 {
     if (ModelState.IsValid)
     {
         db.Entry(fixture).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.league_id = new SelectList(db.leagues, "league_id", "league_name", fixture.league_id);
     return(View(fixture));
 }
        public static fixture GetFixture(int id = 0, int subItemCount = 0)
        {
            if (subItemCount == 0)
            {
                subItemCount = SR.I(10);
            }

            var infos = new List <info>();

            for (var j = 0; j < subItemCount; j++)
            {
                var info = GetInfo();
                if (infos.Find(i => i.key == info.key) == null)
                {
                    infos.Add(info);
                }
            }

            var references = new List <referenceIdsReference_id>();

            for (var j = 0; j < subItemCount; j++)
            {
                var rc = GetReference();
                if (references.Find(i => i.name == rc.name) == null)
                {
                    references.Add(rc);
                }
            }

            var msg = new fixture
            {
                id                      = id == 0 ? SR.Urn("match", 10000).ToString() : SR.Urn(id, "match").ToString(),
                name                    = "Fixture " + SR.S1000,
                competitors             = GetTeamCompetitorList(subItemCount).ToArray(),
                coverage_info           = GetCoverageInfo(),
                delayed_info            = GetDelayedInfo(),
                extra_info              = infos.ToArray(),
                liveodds                = SR.S1000,
                next_live_time          = DateTime.Today.ToString(SdkInfo.ISO8601_24H_FullFormat, CultureInfo.InvariantCulture), // should be like "2020-08-18T10:30:00+00:00"
                start_time_tbdSpecified = true,
                start_time_tbd          = true,
                start_timeSpecified     = true,
                start_time              = DateTime.Today,
                scheduledSpecified      = true,
                scheduled               = DateTime.Today.AddDays(3),
                scheduled_endSpecified  = true,
                scheduled_end           = DateTime.Today.AddDays(4),
                reference_ids           = references.ToArray(),
                replaced_by             = SR.I100 < 70 ? $"sr:match:{SR.I1000}" : null,
                status                  = SR.S10000P
            };

            return(msg);
        }
示例#5
0
        public ActionResult Create([Bind(Include = "fixture_id,location,teamA,teamB,score,league_id")] fixture fixture)
        {
            if (ModelState.IsValid)
            {
                db.fixtures.Add(fixture);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.league_id = new SelectList(db.leagues, "league_id", "league_name", fixture.league_id);
            return(View(fixture));
        }
        internal FixtureDTO(fixture fixture, DateTime?generatedAt)
            : base(fixture)
        {
            Guard.Argument(fixture, nameof(fixture)).NotNull();

            StartTime = fixture.start_timeSpecified
                ? (DateTime?)fixture.start_time.ToLocalTime()
                : null;
            if (!string.IsNullOrEmpty(fixture.next_live_time))
            {
                NextLiveTime = SdkInfo.ParseDate(fixture.next_live_time);
            }
            StartTimeConfirmed = fixture.start_time_confirmedSpecified && fixture.start_time_confirmed;
            ExtraInfo          = fixture.extra_info != null && fixture.extra_info.Any()
                ? new ReadOnlyDictionary <string, string>(fixture.extra_info.ToDictionary(e => e.key, e => e.value))
                : null;
            TvChannels = fixture.tv_channels != null && fixture.tv_channels.Any()
                ? new ReadOnlyCollection <TvChannelDTO>(fixture.tv_channels.Select(t => new TvChannelDTO(t)).ToList())
                : null;
            ProductInfo = fixture.product_info != null
                ? new ProductInfoDTO(fixture.product_info)
                : null;
            Venue = fixture.venue == null
                ? null
                : new VenueDTO(fixture.venue);
            ReferenceIds = fixture.reference_ids == null
                ? null
                : new ReadOnlyDictionary <string, string>(fixture.reference_ids.ToDictionary(r => r.name, r => r.value));
            DelayedInfo = fixture.delayed_info == null
                ? null
                : new DelayedInfoDTO(fixture.delayed_info.id, fixture.delayed_info.description);
            if (fixture.scheduled_start_time_changes != null && fixture.scheduled_start_time_changes.Any())
            {
                ScheduledStartTimeChanges = fixture.scheduled_start_time_changes.Select(s => new ScheduledStartTimeChangeDTO(s));
            }
            if (generatedAt != null)
            {
                GeneratedAt = generatedAt.Value.ToLocalTime();
            }
            if (fixture.parent != null)
            {
                ParentStage = new StageDTO(fixture.parent);
            }
            if (ParentStage == null && Type != null && Type == SportEventType.Parent && fixture.tournament != null)
            {
                ParentStage = new StageDTO(new TournamentDTO(fixture.tournament));
            }
            if (!fixture.additional_parents.IsNullOrEmpty())
            {
                AdditionalParents = fixture.additional_parents.Select(s => new StageDTO(s));
            }
        }
示例#7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MatchDTO"/> class
        /// </summary>
        /// <param name="fixture">A <see cref="fixture"/> instance containing basic information about the sport event</param>
        /// <remarks>Not all properties are filled via fixture (i.e.Venue, Conditions,..)</remarks>
        internal MatchDTO(fixture fixture)
            : this(new matchSummaryEndpoint
        {
            sport_event = new sportEvent
            {
                id = fixture.id,
                name = fixture.name,
                type = fixture.type,
                scheduledSpecified = fixture.scheduledSpecified,
                scheduled = fixture.scheduled,
                scheduled_endSpecified = fixture.scheduled_endSpecified,
                scheduled_end = fixture.scheduled_end,
                liveodds = fixture.liveodds,
                season = fixture.season,
                tournament = fixture.tournament,
                tournament_round = fixture.tournament_round,
                competitors = fixture.competitors?.Select(t => new teamCompetitor
                {
                    abbreviation = t.abbreviation,
                    country = t.country,
                    id = t.id,
                    name = t.name,
                    qualifier = t.qualifier,
                    @virtual = t.@virtual,
                    virtualSpecified = t.virtualSpecified,
                    country_code = t.country_code,
                    reference_ids = t.reference_ids,
                    division = t.division,
                    divisionSpecified = t.divisionSpecified,
                    state = t.state
                }).ToArray(),
                parent = fixture.parent,
                races = fixture.races,
                status = fixture.status,
                replaced_by = fixture.replaced_by,
                next_live_time = fixture.next_live_time,
                sport_event_conditions = fixture.sport_event_conditions,
                start_time_tbdSpecified = fixture.start_time_tbdSpecified,
                start_time_tbd = fixture.start_time_tbd
            }
        })
        {
            Venue = fixture.venue == null
                ? null
                : new VenueDTO(fixture.venue);

            if (fixture.coverage_info != null)
            {
                Coverage = new CoverageInfoDTO(fixture.coverage_info);
            }
        }
示例#8
0
        // GET: fixtures/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            fixture fixture = db.fixtures.Find(id);

            if (fixture == null)
            {
                return(HttpNotFound());
            }
            return(View(fixture));
        }
 // GET: api/Fixture/5
 public fixturesDTO Get(int id)
 {
     using (QLMamNonEntities db = new QLMamNonEntities())
     {
         fixture s = db.fixtures.SingleOrDefault(x => x.id == id);
         if (s != null)
         {
             return(new fixturesDTO(s.id, Convert.ToInt64(s.id_category_fixtures), s.name, (int)(s.remain_quantity), (int)(s.lose_quantity)));
         }
         else
         {
             return(null);
         }
     }
 }
示例#10
0
        // GET: fixtures/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            fixture fixture = db.fixtures.Find(id);

            if (fixture == null)
            {
                return(HttpNotFound());
            }
            ViewBag.league_id = new SelectList(db.leagues, "league_id", "league_name", fixture.league_id);
            return(View(fixture));
        }
示例#11
0
 // POST: api/Fixture
 public HttpResponseMessage Post([FromBody] fixture obj)
 {
     try
     {
         using (QLMamNonEntities db = new QLMamNonEntities())
         {
             db.fixtures.Add(obj);
             db.SaveChanges();
             return(Request.CreateResponse(HttpStatusCode.Created, obj));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
        public static fixture GetFixture(int id = 0, int subItemCount = 0)
        {
            if (subItemCount == 0)
            {
                subItemCount = SR.I(10);
            }

            var infos = new List <info>();

            for (var j = 0; j < subItemCount; j++)
            {
                var info = GetInfo();
                if (infos.Find(i => i.key == info.key) == null)
                {
                    infos.Add(info);
                }
            }

            var references = new List <referenceIdsReference_id>();

            for (var j = 0; j < subItemCount; j++)
            {
                var rc = GetReference();
                if (references.Find(i => i.name == rc.name) == null)
                {
                    references.Add(rc);
                }
            }

            var msg = new fixture
            {
                id                      = id == 0 ? SR.Urn("match", 10000).ToString() : SR.Urn(id, "match").ToString(),
                name                    = "Fixture " + SR.S1000,
                competitors             = GetTeamCompetitorList(subItemCount).ToArray(),
                coverage_info           = GetCoverageInfo(),
                delayed_info            = GetDelayedInfo(),
                extra_info              = infos.ToArray(),
                liveodds                = SR.S1000,
                next_live_time          = DateTime.Today.ToString(CultureInfo.InvariantCulture),
                start_time_tbdSpecified = true,
                start_time_tbd          = true,
                reference_ids           = references.ToArray(),
                replaced_by             = SR.I100 > 50 ? $"sr:match:{SR.I1000}" : string.Empty
            };

            return(msg);
        }
示例#13
0
        internal FixtureDTO(fixture fixture)
            : base(fixture)
        {
            Contract.Requires(fixture != null);

            StartTime = fixture.start_timeSpecified
                ? (DateTime?)fixture.start_time
                : null;
            if (!string.IsNullOrEmpty(fixture.next_live_time))
            {
                NextLiveTime = SdkInfo.ParseDate(fixture.next_live_time);
            }
            StartTimeConfirmed = fixture.start_time_confirmedSpecified && fixture.start_time_confirmed;
            StartTimeTBD       = fixture.start_time_tbdSpecified
                ? (bool?)fixture.start_time_tbd
                : null;
            ExtraInfo = fixture.extra_info != null && fixture.extra_info.Any()
                ? new ReadOnlyDictionary <string, string>(fixture.extra_info.ToDictionary(e => e.key, e => e.value))
                : null;
            CoverageInfo = fixture.coverage_info == null
                ? null
                : new CoverageInfoDTO(fixture.coverage_info);
            TvChannels = fixture.tv_channels != null && fixture.tv_channels.Any()
                ? new ReadOnlyCollection <TvChannelDTO>(fixture.tv_channels.Select(t => new TvChannelDTO(t)).ToList())
                : null;
            ProductInfo = fixture.product_info != null
                ? new ProductInfoDTO(fixture.product_info)
                : null;
            Venue = fixture.venue == null
                ? null
                : new VenueDTO(fixture.venue);
            ReferenceIds = fixture.reference_ids == null
                ? null
                : new ReadOnlyDictionary <string, string>(fixture.reference_ids.ToDictionary(r => r.name, r => r.value));
            DelayedInfo = fixture.delayed_info == null
                ? null
                : new DelayedInfoDTO(fixture.delayed_info.id, fixture.delayed_info.description);
            if (!string.IsNullOrEmpty(fixture.replaced_by))
            {
                ReplacedBy = URN.Parse(fixture.replaced_by);
            }
            if (fixture.scheduled_start_time_changes != null && fixture.scheduled_start_time_changes.Any())
            {
                ScheduledStartTimeChanges =
                    fixture.scheduled_start_time_changes.Select(s => new ScheduledStartTimeChangeDTO(s));
            }
        }
示例#14
0
 // DELETE: api/Fixture/5
 public HttpResponseMessage Delete(int id)
 {
     try
     {
         using (QLMamNonEntities db = new QLMamNonEntities())
         {
             fixture s = db.fixtures.SingleOrDefault(x => x.id == id);
             db.fixtures.Remove(s);
             db.SaveChanges();
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
示例#15
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MatchDTO"/> class
 /// </summary>
 /// <param name="fixture">A <see cref="fixture"/> instance containing basic information about the sport event</param>
 /// <remarks>Not all properties are filled via fixture (i.e.Venue, Conditions,..)</remarks>
 internal MatchDTO(fixture fixture)
     : this(new matchSummaryEndpoint
 {
     sport_event = new sportEvent
     {
         id = fixture.id,
         name = fixture.name,
         type = fixture.type,
         scheduledSpecified = fixture.scheduledSpecified,
         scheduled = fixture.scheduled,
         scheduled_endSpecified = fixture.scheduled_endSpecified,
         scheduled_end = fixture.scheduled_end,
         liveodds = fixture.liveodds,
         season = fixture.season,
         tournament = fixture.tournament,
         tournament_round = fixture.tournament_round,
         competitors = fixture.competitors?.Select(t => new teamCompetitor
         {
             abbreviation = t.abbreviation,
             country = t.country,
             id = t.id,
             name = t.name,
             qualifier = t.qualifier,
             @virtual = t.@virtual,
             virtualSpecified = t.virtualSpecified,
             country_code = t.country_code,
             reference_ids = t.reference_ids,
             division = t.division,
             divisionSpecified = t.divisionSpecified
         }).ToArray(),
         parent = fixture.parent,
         races = fixture.races
     }
 })
 {
     Venue = fixture.venue == null
         ? null
         : new VenueDTO(fixture.venue);
 }