public void CommitTransfers(IntiDataContext db, Inti_TransferPeriod transferPeriod, Inti_TeamVersion currentVersion, Inti_TeamVersion transferVersion, Guid teamId)
        {
            //add transfers
            IList<Inti_TeamTransfer> transfers = new List<Inti_TeamTransfer>();
            foreach (var teamAthlete in currentVersion.Inti_TeamAthlete.ToList())
            {
                //is this athlete removed in the new version?
                if (transferVersion.Inti_TeamAthlete.Where(ta => ta.AthleteGUID == teamAthlete.AthleteGUID).ToList().Count == 0)
                {
                    var transfer = new Inti_TeamTransfer();
                    transfer.TeamGUID = teamId;
                    transfer.TransferDate = transferPeriod.EndDate;
                    transfer.AthleteOutGUID = teamAthlete.AthleteGUID;
                    transfer.AthleteInGUID = Guid.Empty;
                    transfers.Add(transfer);
                }

            }

            foreach (var teamAthlete in transferVersion.Inti_TeamAthlete.ToList())
            {
                //is this athlete present in the old version?
                if (currentVersion.Inti_TeamAthlete.Where(ta => ta.AthleteGUID == teamAthlete.AthleteGUID).ToList().Count == 0)
                {
                    foreach (var tr in transfers)
                    {
                        if (tr.AthleteInGUID == Guid.Empty)
                        {
                            tr.AthleteInGUID = teamAthlete.AthleteGUID;
                            db.Inti_TeamTransfer.InsertOnSubmit(tr);
                            break;
                        }
                    }
                }

            }

            //update validTo and ValidFroms
            transferVersion.ValidFrom = transferPeriod.EndDate;
            currentVersion.ValidTo = transferPeriod.EndDate.AddDays(-1);

            db.SubmitChanges();

            LogEvent(teamId, typeof(Inti_Team), SessionProperties.UserGuid, SessionProperties.ClientInfo, EventType.Update, "Genomfört byten");
        }
Exemple #2
0
        public void ReloadTransferVersion(IntiDataContext db, Inti_TeamVersion transferVersion, Inti_TeamVersion currentVersion, Guid teamId)
        {
            //delete the ones in transferversion
            var teamAthletesToDelete = transferVersion.Inti_TeamAthlete.ToList();

            db.Inti_TeamAthlete.DeleteAllOnSubmit(teamAthletesToDelete);
            db.SubmitChanges();

            //get players from current version
            foreach (var ta in currentVersion.Inti_TeamAthlete.ToList())
            {
                var newTa = new Inti_TeamAthlete();
                newTa.AthleteGUID     = ta.AthleteGUID;
                newTa.TeamVersionGUID = transferVersion.GUID;
                db.Inti_TeamAthlete.InsertOnSubmit(newTa);

                db.SubmitChanges();
            }
        }
        public void ReOpenTeamForTransfers(IntiDataContext db, Inti_TransferPeriod transferPeriod, Inti_TeamVersion transferVersion, Inti_TeamVersion currentVersion, Guid teamId)
        {
            //remove transfers
            var transfers =
                db.Inti_TeamTransfer.Where(
                    tf => tf.TeamGUID == teamId && tf.TransferDate == transferPeriod.EndDate).ToList();
            if (transfers.Count > 0)
                db.Inti_TeamTransfer.DeleteAllOnSubmit(transfers);

            //update validTo and ValidFroms
            transferVersion.ValidFrom = null;
            currentVersion.ValidTo = null;

            db.SubmitChanges();

            LogEvent(teamId, typeof(Inti_Team), SessionProperties.UserGuid, SessionProperties.ClientInfo, EventType.Update, "Ångrat byten");
        }
        public void ReloadTransferVersion(IntiDataContext db, Inti_TeamVersion transferVersion, Inti_TeamVersion currentVersion, Guid teamId)
        {
            //delete the ones in transferversion
            var teamAthletesToDelete = transferVersion.Inti_TeamAthlete.ToList();
            db.Inti_TeamAthlete.DeleteAllOnSubmit(teamAthletesToDelete);
            db.SubmitChanges();

            //get players from current version
            foreach (var ta in currentVersion.Inti_TeamAthlete.ToList())
            {
                var newTa = new Inti_TeamAthlete();
                newTa.AthleteGUID = ta.AthleteGUID;
                newTa.TeamVersionGUID = transferVersion.GUID;
                db.Inti_TeamAthlete.InsertOnSubmit(newTa);

                db.SubmitChanges();
            }
        }
 partial void DeleteInti_TeamVersion(Inti_TeamVersion instance);
 partial void UpdateInti_TeamVersion(Inti_TeamVersion instance);
 partial void InsertInti_TeamVersion(Inti_TeamVersion instance);
		private void detach_Inti_TeamVersion(Inti_TeamVersion entity)
		{
			this.SendPropertyChanging();
			entity.Inti_Team = null;
		}
Exemple #9
0
        public void CommitTransfers(IntiDataContext db, Inti_TransferPeriod transferPeriod, Inti_TeamVersion currentVersion, Inti_TeamVersion transferVersion, Guid teamId)
        {
            //add transfers
            IList <Inti_TeamTransfer> transfers = new List <Inti_TeamTransfer>();

            foreach (var teamAthlete in currentVersion.Inti_TeamAthlete.ToList())
            {
                //is this athlete removed in the new version?
                if (transferVersion.Inti_TeamAthlete.Where(ta => ta.AthleteGUID == teamAthlete.AthleteGUID).ToList().Count == 0)
                {
                    var transfer = new Inti_TeamTransfer();
                    transfer.TeamGUID       = teamId;
                    transfer.TransferDate   = transferPeriod.EndDate;
                    transfer.AthleteOutGUID = teamAthlete.AthleteGUID;
                    transfer.AthleteInGUID  = Guid.Empty;
                    transfers.Add(transfer);
                }
            }

            foreach (var teamAthlete in transferVersion.Inti_TeamAthlete.ToList())
            {
                //is this athlete present in the old version?
                if (currentVersion.Inti_TeamAthlete.Where(ta => ta.AthleteGUID == teamAthlete.AthleteGUID).ToList().Count == 0)
                {
                    foreach (var tr in transfers)
                    {
                        if (tr.AthleteInGUID == Guid.Empty)
                        {
                            tr.AthleteInGUID = teamAthlete.AthleteGUID;
                            db.Inti_TeamTransfer.InsertOnSubmit(tr);
                            break;
                        }
                    }
                }
            }

            //update validTo and ValidFroms
            transferVersion.ValidFrom = transferPeriod.EndDate;
            currentVersion.ValidTo    = transferPeriod.EndDate.AddDays(-1);

            db.SubmitChanges();

            LogEvent(teamId, typeof(Inti_Team), SessionProperties.UserGuid, SessionProperties.ClientInfo, EventType.Update, "Genomfört byten");
        }
Exemple #10
0
        public void ReOpenTeamForTransfers(IntiDataContext db, Inti_TransferPeriod transferPeriod, Inti_TeamVersion transferVersion, Inti_TeamVersion currentVersion, Guid teamId)
        {
            //remove transfers
            var transfers =
                db.Inti_TeamTransfer.Where(
                    tf => tf.TeamGUID == teamId && tf.TransferDate == transferPeriod.EndDate).ToList();

            if (transfers.Count > 0)
            {
                db.Inti_TeamTransfer.DeleteAllOnSubmit(transfers);
            }

            //update validTo and ValidFroms
            transferVersion.ValidFrom = null;
            currentVersion.ValidTo    = null;

            db.SubmitChanges();

            LogEvent(teamId, typeof(Inti_Team), SessionProperties.UserGuid, SessionProperties.ClientInfo, EventType.Update, "Ångrat byten");
        }
        private void GetCurrentAndTransferVersion(IntiDataContext db, out Inti_TeamVersion currentVersion, out Inti_TeamVersion transferVersion)
        {
            currentVersion = null;
            transferVersion = null;
            var currentDate = CurrentDate;

            var teamVersions = db.Inti_TeamVersion.Where(tv => tv.TeamGUID == TeamId);
            foreach (var teamVersion in teamVersions.OrderByDescending(tv => tv.Version))
            {
                if ((teamVersion.ValidFrom == null || teamVersion.ValidFrom >= currentDate) && teamVersion.ValidTo == null)
                {
                    //we have our version
                    transferVersion = teamVersion;
                }
                if (teamVersion.ValidFrom < currentDate
                    && (teamVersion.ValidTo ?? currentDate).AddDays(1) >= currentDate)
                {
                    currentVersion = teamVersion;
                }
            }

            //create a new team version
            if (transferVersion == null && currentVersion != null)
            {
                transferVersion = new Inti_TeamVersion();
                transferVersion.TeamGUID = TeamId;
                transferVersion.Version = currentVersion.Version + 1;

                db.Inti_TeamVersion.InsertOnSubmit(transferVersion);

                db.SubmitChanges();
            }

            //in tournament startoff, current version and transfer is the same
            currentVersion = currentVersion ?? transferVersion;
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (TeamId == Guid.Empty)
            {
                //create new team
                var team = new Inti_Team();
                team.Name = TeamName.Text;
                team.Presentation = TeamDescription.Text;

                team.UserGUID = SessionProps.UserGuid;
                team.TournamentGUID = Tournament.GUID;

                team.IsActive = false;

                team.IsPaid = false;
                team.BonusPoints = 0;

                //team version
                var teamVersion = new Inti_TeamVersion();
                teamVersion.TeamGUID = team.GUID;
                teamVersion.Version = 1;
                teamVersion.ValidFrom = Tournament.EndRegistration;

                using (var db = Global.GetConnection())
                {
                    db.Inti_Team.InsertOnSubmit(team);
                    db.Inti_TeamVersion.InsertOnSubmit(teamVersion);
                    db.SubmitChanges();
                }

                WebControlManager.RedirectWithQueryString("UserTeamEdit.aspx", new string[] { "teamGUID" }, new string[] { team.GUID.ToString() });

            }
            else
            {
                //update this team
                using(var db = Global.GetConnection())
                {
                    var team = db.Inti_Team.Single(t => t.GUID == TeamId);

                    team.Name = TeamName.Text;
                    team.Presentation = TeamDescription.Text;

                    db.SubmitChanges();
                }
            }
        }
        private void LoadTransferControls(Inti_TeamVersion version, IntiDataContext db)
        {
            //insert header
            var tbl = new Table();

            TableRow row;
            TableCell cell;
            Label lbl;
            var posGUID = Guid.Empty;

            foreach(var teamAthlete in db.Inti_TeamAthlete.Where(ta=>ta.TeamVersionGUID == version.GUID).OrderBy(ta=>ta.Inti_AthleteClub.Inti_Position.SortOrder).ToList())
            {
                if(posGUID != teamAthlete.Inti_AthleteClub.PositionGUID)
                {
                    if (posGUID != Guid.Empty )
                    {
                        //add spacer
                        row = new TableRow();
                        cell = new TableCell();
                        cell.ColumnSpan = 4;
                        tbl.Rows.Add(row);
                    }

                    //add header row
                    row = new TableRow();
                    cell = new TableCell();
                    lbl = new Label();

                    lbl.ID = "lblHeader" + teamAthlete.Inti_AthleteClub.Inti_Position.ShortName;
                    lbl.Text = "<strong>" + teamAthlete.Inti_AthleteClub.Inti_Position.Name + "</strong>";

                    cell.Controls.Add(lbl);
                    cell.ColumnSpan = 4;
                    row.Cells.Add(cell);
                    tbl.Rows.Add(row);

                    posGUID = teamAthlete.Inti_AthleteClub.PositionGUID;
                }

                //add controls for the player
                row = new TableRow();

                //player name
                cell = new TableCell();
                lbl = new Label();
                lbl.Text = String.Format("{0} {1}", teamAthlete.Inti_AthleteClub.Inti_Athlete.FirstName,
                                         teamAthlete.Inti_AthleteClub.Inti_Athlete.LastName).Trim();
                cell.Controls.Add(lbl);
                row.Cells.Add(cell);

                //player club
                cell = new TableCell();
                lbl = new Label();
                lbl.Text = teamAthlete.Inti_AthleteClub.Inti_Club.ShortName;
                cell.Controls.Add(lbl);
                row.Cells.Add(cell);

                //player price
                cell = new TableCell();
                lbl = new Label();
                lbl.Text = teamAthlete.Inti_AthleteClub.Price.ToString();
                cell.Controls.Add(lbl);
                row.Cells.Add(cell);

                //remove-button
                cell = new TableCell();
                var btnDel = new Button();
                btnDel.ID = "btnDelete" + teamAthlete.AthleteGUID.ToString();
                btnDel.CssClass = "btn btn-danger";
                btnDel.Text = "ta bort";
                btnDel.ToolTip = "ta bort " + String.Format("{0} {1}", teamAthlete.Inti_AthleteClub.Inti_Athlete.FirstName,
                                                            teamAthlete.Inti_AthleteClub.Inti_Athlete.LastName).Trim();
                btnDel.Click += DeletePlayer_Click;
                cell.Controls.Add(btnDel);
                row.Cells.Add(cell);

                //add this row
                tbl.Rows.Add(row);
            }

            var positions =
                    db.Inti_Position.Where(p => (p.ShortName != "MGR" || SessionProps.SelectedTournament.IncludeManager))
                        .OrderBy(p => p.SortOrder).ToList();

            Button btnAddNew = null;
            foreach (var pos in positions)
            {
                btnAddNew = new Button();
                btnAddNew.ID = "btnAdd" + pos.ShortName;
                btnAddNew.CssClass = "btn btn-primary";
                btnAddNew.Text = "lägg till " + pos.Name;
                btnAddNew.ToolTip = "lägg till en " + pos.Name;
                btnAddNew.Click += new EventHandler(AddPlayer_Click);

                //add button to add a new player
                row = new TableRow();
                cell = new TableCell();
                cell.ColumnSpan = 4;

                cell.Controls.Add(btnAddNew);
                row.Cells.Add(cell);
                tbl.Rows.Add(row);
            }

            plhTransferLineUp.Controls.Clear();
            plhTransferLineUp.Controls.Add(tbl);
        }