示例#1
0
        /// <inheritdoc />
        public async Task <Entrant> MergeWithStore(Entrant entrant)
        {
            Entrants.Update(entrant);
            await SaveChangesAsync().ConfigureAwait(false);

            return(await Entrants.FindAsync(entrant.RowKey).ConfigureAwait(false));
        }
示例#2
0
    private void GetEntrant()
    {
        Guid     entrant_ID = new Guid(Entrant_ID);
        Entrants entrant    = new Entrants(_connString, entrant_ID);

        Show_ID = entrant.Show_ID.ToString();
    }
        private int entrantsEnumToNumber(Entrants entrants)
        {
            switch (entrants)
            {
            case Entrants._02:
                return(2);

            case Entrants._04:
                return(4);

            case Entrants._08:
                return(8);

            case Entrants._12:
                return(12);

            case Entrants._16:
                return(16);

            case Entrants._24:
                return(24);

            case Entrants._32:
                return(32);

            case Entrants._48:
                return(48);

            case Entrants._64:
                return(64);

            default:
                return(1);
            }
        }
示例#4
0
        public void AddEntrant(Horse horse)
        {
            Entrant entrant = new Entrant(this, horse, Entrants.Count + 1);

            Entrants.Add(entrant);
            Entrants = Entrants.OrderBy(x => x.Odds).ToList();
        }
示例#5
0
        public double FractionDone()
        {
            var hasNoScoredEntrants  = !Entrants.Any(x => x.Rank.HasValue && x.Rank > 0);
            var hasAllScoredEntrants = Entrants.All(x => (x.Rank.HasValue && x.Rank > 0) || x.Absent);

            if (!Entrants.Any())
            {
                return(0.0);
            }
            else if (hasNoScoredEntrants && Event_Sess.All(s => s.ActualEnd < DateTime.Now))
            {
                return(0.666);
            }
            else if (hasNoScoredEntrants && Event_Sess.Any(s => s.ActualStart < DateTime.Now))
            {
                return(0.333);
            }
            else if (hasNoScoredEntrants)
            {
                return(0.0);
            }
            else if (hasAllScoredEntrants)
            {
                return(1.0);
            }
            else
            {
                return(0.9);
            }
        }
示例#6
0
    private bool DogAlreadyEntered()
    {
        bool ret = false;

        if (Is_Dam_Or_Sire)
        {
            return(ret);
        }
        DogClasses        dogClasses = new DogClasses(_connString);
        List <DogClasses> tblDog_Classes;
        Guid show_ID = new Guid(Show_ID);
        Guid dog_ID  = new Guid(Dog_ID);

        tblDog_Classes = dogClasses.GetDog_ClassesByDog_ID(show_ID, dog_ID);
        if (tblDog_Classes != null && tblDog_Classes.Count > 0)
        {
            foreach (DogClasses row in tblDog_Classes)
            {
                if (!row.IsEntrant_IDNull && row.Entrant_ID != new Guid())
                {
                    if (string.IsNullOrEmpty(Common.Entrant_ID) || Common.Entrant_ID != row.Entrant_ID.ToString())
                    {
                        Guid     entrant_ID = new Guid(row.Entrant_ID.ToString());
                        Entrants entrant    = new Entrants(_connString, entrant_ID);
                        if (Common.Show_ID == entrant.Show_ID.ToString())
                        {
                            Common.ExistingEntrant_ID = entrant_ID.ToString();
                            ret = true;
                        }
                    }
                }
            }
        }
        return(ret);
    }
示例#7
0
 public Task <int> GetTotalSubmissions(bool?verified)
 {
     if (verified.HasValue)
     {
         return(Entrants.Where(x => x.Submission != null && x.Submission.Locked && x.Submission.Verified == verified).CountAsync());
     }
     return(Entrants.Where(x => x.Submission != null && x.Submission.Locked).CountAsync());
 }
示例#8
0
        private Guid CreateEntrant(ExcelDataItem item)
        {
            Entrants entrant = new Entrants(Utils.ConnectionString());

            entrant.Show_ID         = show_ID;
            entrant.Entry_Date      = item.Date_Of_Entry;
            entrant.Withold_Address = !item.Show_Address_In_Catalogue;
            return((Guid)entrant.Insert_Entrant(user_ID));
        }
示例#9
0
    private void PopulateEntryGridView()
    {
        List <Entrants> tblEntrants;
        Entrants        entrants = new Entrants(_connString);
        Guid            show_ID  = new Guid(Show_ID);

        tblEntrants = entrants.GetEntrantsByShow_ID(show_ID, true);
        EntryGridView.DataSource = tblEntrants;
        EntryGridView.DataBind();
    }
示例#10
0
        static int SortInfoByName(Entrants a, Entrants b)
        {
            var part1         = a.Name;
            var part2         = b.Name;
            var compareResult = part1.CompareTo(part2);

            if (compareResult == 0)
            {
                return(b.GetCompMark().CompareTo(b.GetCompMark()));
            }
            return(compareResult);
        }
示例#11
0
 static void PrintEntrant(Entrants entrant)
 {
     Console.WriteLine($"ID: {entrant.IdNum}");
     Console.WriteLine($"Ім'я: {entrant.Name}");
     Console.WriteLine($"Бали за підготовчі курси: {entrant.CoursePoints}");
     Console.WriteLine($"Бал атестату: {entrant.AvgPoints}");
     Console.WriteLine("ЗНО");
     foreach (ZNO zno in entrant.ZNOResult)
     {
         Console.WriteLine($"{zno.Subject} : {zno.Points}");
     }
 }
示例#12
0
 static int SortInfoByPoints(Entrants a, Entrants b)
 {
     if (a.GetCompMark() > b.GetCompMark())
     {
         return(1);
     }
     if (a.GetCompMark() < b.GetCompMark())
     {
         return(-1);
     }
     return(0);
 }
示例#13
0
 private void LoadMediaEntrants()
 {
     Entrants.AddRange(Lottery.Entrants);
     foreach (var movie in Lottery.Movies)
     {
         Entrants.Add(
             new Entrant
         {
             Name  = movie.Name,
             Balls = 1
         });
     }
 }
示例#14
0
        /// <inheritdoc />
        public Task <IEnumerable <Entrant> > FetchList(int count, int skip, bool?verified = null)
        {
            if (verified.HasValue)
            {
                return(Task.Run(() =>
                {
                    return Entrants.Where(x => x.Submission != null && x.Submission.Verified == verified && !x.Submission.Rejected)
                    .Skip(skip).Take(count)
                    .Include(y => y.Submission).AsEnumerable();
                }));
            }

            return(Task.Run(() => Entrants.Skip(skip).Take(count).AsEnumerable()));
        }
示例#15
0
        /// <inheritdoc />
        public Task <IEnumerable <Entrant> > FetchSubmissionOrderedList(int count, int skip, bool?verified)
        {
            return(Task.Run(() =>
            {
                var query = Entrants.Where(x => x.Submission != null && x.Submission.Locked && !x.Submission.Rejected);
                if (verified.HasValue)
                {
                    query = query.Where(x => x.Submission != null && x.Submission.Verified == verified);
                }

                return query.OrderBy(t => t.Submission !.TimeToComplete)
                .Skip(skip).Take(count)
                .Include(y => y.Submission).AsEnumerable();
            }));
        }
示例#16
0
    protected void ShowGridView_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row  = ShowGridView.SelectedRow;
        string      s_id = ShowGridView.DataKeys[row.RowIndex]["Show_ID"].ToString();
        string      c_id = ShowGridView.DataKeys[row.RowIndex]["Club_ID"].ToString();
        string      v_id = ShowGridView.DataKeys[row.RowIndex]["Venue_ID"].ToString();

        Show_ID        = s_id;
        Common.Show_ID = Show_ID;
        Club_ID        = c_id;
        Common.Club_ID = Club_ID;

        PopulateClub(Club_ID);
        PopulateShowGridView(Club_ID);
        PopulateShow(Show_ID);
        divGetOwner.Visible = true;
        if (!string.IsNullOrEmpty(Owner_ID) && !string.IsNullOrEmpty(Show_ID))
        {
            Entrants        entrant = new Entrants(_connString);
            List <Entrants> tblEntrants;
            Guid            person_ID  = new Guid(Owner_ID);
            Guid            show_ID    = new Guid(Show_ID);
            Guid?           entrant_ID = null;
            tblEntrants = entrant.GetEntrantsByShow_ID(show_ID, false);
            foreach (Entrants entrantRow in tblEntrants)
            {
                if (entrantRow.Show_ID == show_ID)
                {
                    entrant_ID = entrantRow.Entrant_ID;
                }
            }
            if (entrant_ID != null)
            {
                Entrant_ID        = entrant_ID.ToString();
                Common.Entrant_ID = Entrant_ID;
                Guid newEntrant_ID = new Guid(Entrant_ID);
                PopulateEntrant(newEntrant_ID);
                PopulateDogList(newEntrant_ID);
                PopulateOwnerList(newEntrant_ID);
                divDogList.Visible          = true;
                divAddCompetitor.Visible    = false;
                divUpdateCompetitor.Visible = true;
                PopulateForm();
                People person = new People(_connString, person_ID);
                MessageLabel.Text = string.Format("{0} {1} is already entered in this show", person.Person_Forename, person.Person_Surname);
            }
        }
    }
示例#17
0
        public Task <IEnumerable <Entrant> > FetchByNameFilterOrdered(string name, int count, int skip, bool?verified)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                return(FetchSubmissionOrderedList(count, skip, verified));
            }
            return(Task.Run(() =>
            {
                var query = Entrants.Where(x => x.Submission.Locked && !x.Submission.Rejected);
                if (verified.HasValue)
                {
                    query = query.Where(x => x.Submission.Verified == verified);
                }

                query = query.Where(s => s.Name.Contains(name));
                return query.OrderBy(t => t.Submission.TimeToComplete).Skip(skip).Take(count).AsEnumerable();
            }));
        }
示例#18
0
    private void GetEntrantByShowAndDog()
    {
        Entrants entrant = new Entrants(_connString);

        if (!string.IsNullOrEmpty(Show_ID))
        {
            Guid            show_ID = new Guid(Show_ID);
            Guid            dog_ID  = Common.MyDogList[0].Dog_ID;
            List <Entrants> tblEntrants;
            tblEntrants = entrant.GetEntrantsByShow_IDAndDog_ID(show_ID, dog_ID, true);
            if (tblEntrants != null && tblEntrants.Count > 0)
            {
                Guid entrant_ID = (Guid)tblEntrants[0].Entrant_ID;
                Entrant_ID        = entrant_ID.ToString();
                Common.Entrant_ID = Entrant_ID;
            }
        }
    }
示例#19
0
        public void Start()
        {
            int position = 1;

            foreach (var entrant in Entrants)
            {
                entrant.Start();
            }

            Entrants = Entrants.OrderBy(x => x.RaceTime).ToList();

            foreach (var entrant in Entrants)
            {
                entrant.SetPosition(position);
                position++;
            }

            Entrants = Entrants.OrderBy(x => Guid.NewGuid()).ToList();
        }
 private void ValidatePartners(List <string> errors)
 {
     if (NumberInTeam == 2)
     {
         foreach (var e1 in Entrants.Where(x => !x.Absent && x.Rank != 0))
         {
             var e2 = Entrants.FirstOrDefault(x => x.FullName == e1.TeamOrPair);
             if (e2 == null)
             {
                 errors.Add(e1.FullName + " does not have a partner");
             }
             else if (e2.TeamOrPair != e1.FullName)
             {
                 errors.Add(e1.FullName + " and " + e2.FullName + " have mismatched partners");
             }
             else if (e2.Rank != e1.Rank)
             {
                 errors.Add("Partners " + e1.FullName + " and " + e2.FullName + " should have the same rank");
             }
         }
     }
 }
示例#21
0
        private void PopulateEntrants()
        {
            _entrantData.Columns.Clear();
            DataColumn dcFullName  = new DataColumn("FullName");
            DataColumn dcEntrantID = new DataColumn("EntrantID");

            _entrantData.Columns.Add(dcFullName);
            _entrantData.Columns.Add(dcEntrantID);
            object[] dataRow = new object[2];

            string          connString  = Utils.ConnectionString();
            Entrants        entrants    = new Entrants(connString);
            List <Entrants> entrantList = entrants.GetEntrantsByShow_ID(_show_ID, true);

            foreach (Entrants entrant in entrantList)
            {
                _prev_Owner_ID = new Guid();
                DogClasses        dc     = new DogClasses(connString);
                List <DogClasses> dcList = dc.GetDog_ClassesByEntrant_ID((Guid)entrant.Entrant_ID);
                foreach (DogClasses dogClass in dcList)
                {
                    DogOwners        dogOwners = new DogOwners(connString);
                    List <DogOwners> doList    = dogOwners.GetDogOwnersByDog_ID((Guid)dogClass.Dog_ID);
                    foreach (DogOwners owner in doList)
                    {
                        if (owner.Owner_ID != _prev_Owner_ID)
                        {
                            People person = new People(connString, (Guid)owner.Owner_ID);
                            dataRow[0] = person.Person_FullName;
                            dataRow[1] = entrant.Entrant_ID;

                            _entrantData.Rows.Add(dataRow);
                        }
                        _prev_Owner_ID = owner.Owner_ID;
                    }
                }
            }
            selectEntrant.PeopleData = _entrantData;
        }
示例#22
0
        public string Status()
        {
            var hasNoScoredEntrants  = !Entrants.Any(x => x.Rank.HasValue && x.Rank > 0);
            var hasAllScoredEntrants = Entrants.All(x => (x.Rank.HasValue && x.Rank > 0) || x.Absent);

            if (!Entrants.Any())
            {
                if (!End.HasValue || DateTime.Now < End.Value)
                {
                    return("In database, empty");
                }
                else
                {
                    return("Complete"); // noone entered, and the end is passed
                }
            }
            else if (hasNoScoredEntrants && Event_Sess.All(s => s.ActualEnd < DateTime.Now))
            {
                return("Awaiting results");
            }
            else if (hasNoScoredEntrants && Event_Sess.Any(s => s.ActualStart < DateTime.Now))
            {
                return("In progress");
            }
            else if (hasNoScoredEntrants)
            {
                return("Taking entries");
            }
            else if (hasAllScoredEntrants)
            {
                return("Complete");
            }
            else
            {
                return("Results being entered");
            }
        }
示例#23
0
    private void PopulateEntrant(Guid entrant_ID)
    {
        Entrants entrant = new Entrants(_connString, entrant_ID);

        if (entrant.Catalogue != null)
        {
            Catalogue = (bool)entrant.Catalogue;
        }
        if (entrant.Overnight_Camping != null)
        {
            Overnight_Camping = (bool)entrant.Overnight_Camping;
        }
        Overpayment  = entrant.Overpayment.ToString();
        Underpayment = entrant.Underpayment.ToString();
        if (entrant.Offer_Of_Help != null)
        {
            Offer_Of_Help = (bool)entrant.Offer_Of_Help;
        }
        Help_Details = entrant.Help_Details;
        if (entrant.Withold_Address != null)
        {
            Withold_Address = (bool)entrant.Withold_Address;
        }
        if (entrant.Send_Running_Order != null)
        {
            Send_Running_Order = (bool)entrant.Send_Running_Order;
        }
        if (entrant.Entry_Date != null)
        {
            string format = "yyyy-MM-dd";
            Entry_Date        = DateTime.Parse(entrant.Entry_Date.ToString()).ToString(format);
            Common.Entry_Date = Entry_Date;
            txtEntryDate.Text = Entry_Date;
        }
        StoreCommon();
    }
示例#24
0
 public TournamentMenu setNumberOfEntrants(Entrants entrants)
 {
     this.entrants = entrants;
     return(this);
 }
示例#25
0
        /// <inheritdoc />
        public async Task Create(Entrant entrant)
        {
            await Entrants.AddAsync(entrant).ConfigureAwait(false);

            await SaveChangesAsync();
        }
示例#26
0
    protected void btnAddCompetitor_Click(object sender, EventArgs e)
    {
        SaveFormFields();
        StoreCommon();

        if (ValidEntry())
        {
            MembershipUser userInfo = Membership.GetUser();
            Guid           user_ID  = (Guid)userInfo.ProviderUserKey;

            Entrants entrant = new Entrants(_connString);
            Guid     show_ID = new Guid(Show_ID);
            entrant.Show_ID = show_ID;
            if (Catalogue)
            {
                entrant.Catalogue = Catalogue;
            }
            if (Overnight_Camping)
            {
                entrant.Overnight_Camping = Overnight_Camping;
            }
            if (!string.IsNullOrEmpty(Overpayment))
            {
                entrant.Overpayment = decimal.Parse(Overpayment);
            }
            if (!string.IsNullOrEmpty(Underpayment))
            {
                entrant.Underpayment = decimal.Parse(Underpayment);
            }
            if (Offer_Of_Help)
            {
                entrant.Offer_Of_Help = Offer_Of_Help;
            }
            if (!string.IsNullOrEmpty(Help_Details))
            {
                entrant.Help_Details = Help_Details;
            }
            if (Withold_Address)
            {
                entrant.Withold_Address = Withold_Address;
            }
            if (Send_Running_Order)
            {
                entrant.Send_Running_Order = Send_Running_Order;
            }
            if (!string.IsNullOrEmpty(Entry_Date))
            {
                if (entrant.Entry_Date.ToString() != Entry_Date && !string.IsNullOrEmpty(Entry_Date))
                {
                    entrant.Entry_Date = DateTime.Parse(Entry_Date);
                }
            }

            Guid?entrant_ID = entrant.Insert_Entrant(user_ID);

            if (entrant_ID != null)
            {
                Entrant_ID        = entrant_ID.ToString();
                Common.Entrant_ID = Entrant_ID;
                bool insertFailed = false;
                for (int i = 0; i < Common.MyDogList.Count; i++)
                {
                    DogClasses dogClass = new DogClasses(_connString);
                    dogClass.Entrant_ID = entrant_ID;
                    dogClass.Dog_ID     = Common.MyDogList[i].Dog_ID;

                    Guid?dog_Class_ID = dogClass.Insert_Dog_Class(user_ID);

                    if (dog_Class_ID == null)
                    {
                        insertFailed = true;
                    }
                }
                if (!insertFailed)
                {
                    string returnChars = Common.AppendReturnChars(Request.QueryString, "coc");
                    Server.Transfer("~/Competitors/AddDogToClasses.aspx?" + returnChars);
                }
                else
                {
                    MessageLabel.Text = "Dog_Classes Insert Failed!";
                }
            }
            else
            {
                MessageLabel.Text = "Entrants Insert Failed!";
            }
        }
    }
示例#27
0
    protected void btnUpdateCompetitor_Click(object sender, EventArgs e)
    {
        SaveFormFields();
        StoreCommon();
        if (ValidEntry())
        {
            MembershipUser userInfo       = Membership.GetUser();
            Guid           user_ID        = (Guid)userInfo.ProviderUserKey;
            Guid           entrant_ID     = new Guid(Entrant_ID);
            bool           EntrantChanges = false;
            bool           EntrantSuccess = false;
            bool           DogChanges     = false;
            bool           DogSuccess     = false;
            if (HasEntrantChanges())
            {
                EntrantChanges = true;
                Entrants entrant = new Entrants(_connString);
                Guid     show_ID = new Guid(Show_ID);
                entrant.Show_ID = show_ID;
                if (Catalogue)
                {
                    entrant.Catalogue = Catalogue;
                }
                if (Overnight_Camping)
                {
                    entrant.Overnight_Camping = Overnight_Camping;
                }
                if (!string.IsNullOrEmpty(Overpayment))
                {
                    entrant.Overpayment = decimal.Parse(Overpayment);
                }
                if (!string.IsNullOrEmpty(Underpayment))
                {
                    entrant.Underpayment = decimal.Parse(Underpayment);
                }
                if (Offer_Of_Help)
                {
                    entrant.Offer_Of_Help = Offer_Of_Help;
                }
                if (!string.IsNullOrEmpty(Help_Details))
                {
                    entrant.Help_Details = Help_Details;
                }
                if (Withold_Address)
                {
                    entrant.Withold_Address = Withold_Address;
                }
                if (Send_Running_Order)
                {
                    entrant.Send_Running_Order = Send_Running_Order;
                }
                if (!string.IsNullOrEmpty(Entry_Date))
                {
                    if (entrant.Entry_Date.ToString() != Entry_Date && !string.IsNullOrEmpty(Entry_Date))
                    {
                        entrant.Entry_Date = DateTime.Parse(Entry_Date);
                    }
                }
                EntrantSuccess = entrant.Update_Entrant(entrant_ID, user_ID);
            }
            else
            {
                EntrantSuccess = true;
            }

            List <DogClasses> tblDogClasses;
            DogClasses        dogClasses = new DogClasses(_connString);
            tblDogClasses = dogClasses.GetDog_ClassesByEntrant_ID(entrant_ID);
            bool insertOK = true;
            bool deleteOK = true;
            switch (HasDogChanges())
            {
            case Constants.DATA_NO_CHANGE:
                DogSuccess = true;
                break;

            case Constants.DATA_INSERTED:
                DogChanges = true;
                insertOK   = InsertDogClass(entrant_ID, user_ID);
                if (insertOK)
                {
                    DogSuccess = true;
                }
                else
                {
                    MessageLabel.Text = "Insert_Dog_Class Failed";
                }
                break;

            case Constants.DATA_DELETED:
                DogChanges = true;
                deleteOK   = DeleteDogClass(entrant_ID, user_ID);
                if (deleteOK)
                {
                    DogSuccess = true;
                }
                else
                {
                    MessageLabel.Text = "Delete_Dog_Class Failed";
                }
                break;

            case Constants.DATA_INSERTED_AND_DELETED:
                DogChanges = true;
                insertOK   = InsertDogClass(entrant_ID, user_ID);
                deleteOK   = DeleteDogClass(entrant_ID, user_ID);
                if (insertOK && deleteOK)
                {
                    DogSuccess = true;
                }
                else
                {
                    MessageLabel.Text = string.Empty;
                    if (!insertOK)
                    {
                        MessageLabel.Text = "Insert_Dog_Class Failed";
                    }
                    if (!deleteOK)
                    {
                        MessageLabel.Text += "Delete_Dog_Class Failed";
                    }
                }
                break;

            default:
                break;
            }

            if (EntrantChanges && !EntrantSuccess)
            {
                MessageLabel.Text = "Update_Entrant Failed!";
            }
            if (DogChanges && !DogSuccess)
            {
                MessageLabel.Text += " Error with Dog Changes!";
            }
            if (!EntrantChanges && !DogChanges)
            {
                string returnChars = Common.AppendReturnChars(Request.QueryString, "coc");
                Server.Transfer("~/Competitors/AddDogToClasses.aspx?" + returnChars);
            }
            if (EntrantSuccess && DogSuccess)
            {
                string returnChars = Common.AppendReturnChars(Request.QueryString, "coc");
                Server.Transfer("~/Competitors/AddDogToClasses.aspx?" + returnChars);
            }
        }
    }
示例#28
0
    private bool HasEntrantChanges()
    {
        bool Changed = false;

        if (!string.IsNullOrEmpty(Entrant_ID))
        {
            Guid     entrant_ID = new Guid(Entrant_ID);
            Entrants entrant    = new Entrants(_connString, entrant_ID);

            if (entrant.Show_ID.ToString() != Show_ID)
            {
                Changed = true;
            }
            if (entrant.Catalogue != Catalogue)
            {
                Changed = true;
            }
            if (entrant.Overnight_Camping != Overnight_Camping)
            {
                Changed = true;
            }
            if (entrant.Overpayment.ToString() != Overpayment)
            {
                Changed = true;
            }
            if (entrant.Underpayment.ToString() != Underpayment)
            {
                Changed = true;
            }
            if (entrant.Offer_Of_Help != Offer_Of_Help)
            {
                Changed = true;
            }
            if (entrant.Help_Details != Help_Details)
            {
                if (!string.IsNullOrEmpty(entrant.Help_Details) && !string.IsNullOrEmpty(Help_Details))
                {
                    Changed = true;
                }
            }
            if (entrant.Withold_Address != Withold_Address)
            {
                Changed = true;
            }
            if (entrant.Send_Running_Order != Send_Running_Order)
            {
                Changed = true;
            }
            if (entrant.Entry_Date == null && !string.IsNullOrEmpty(Entry_Date))
            {
                Changed = true;
            }
            if (entrant.Entry_Date != null && !string.IsNullOrEmpty(Entry_Date))
            {
                if (entrant.Entry_Date.ToString() != Entry_Date)
                {
                    Changed = true;
                }
            }
        }
        return(Changed);
    }
示例#29
0
 private void LoadGameEntrants()
 {
     Entrants.AddRange(Lottery.Entrants);
 }
示例#30
0
 /// <inheritdoc />
 public async Task Delete(Entrant entrant)
 {
     Entrants.Remove(entrant);
     await SaveChangesAsync().ConfigureAwait(false);
 }