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"); }
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"); }
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; }
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"); }
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); }