protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { return; } if (TeamScheduleID.HasValue) { //edit using (TeamSchedulesController tsc = new TeamSchedulesController()) { if (!tsc.IsUserScoped(CurrentUser.UserID, "Scheduler.EditEvent", TeamScheduleID.Value)) { AlertBox_General.SetStatus("You do not have permission to edit this event.", UI.AlertBoxType.Error); divManage.Visible = false; return; } else { divManage.Visible = true; Populate(TeamScheduleID.Value); } } lnkUpdateEvent.Visible = true; } else { CheckAllowed("Scheduler.AddNewEvent"); divManage.Visible = true; lnkCreateEvent.Visible = true; Title = "Add New Event"; } }
protected void Page_Load(object sender, EventArgs e) { if (!TeamScheduleID.HasValue) { return; } lnkEdit.NavigateUrl = string.Format(lnkEdit.NavigateUrl, TeamScheduleID.Value); using (TeamSchedulesController tsc = new TeamSchedulesController()) { FetchStrategy fetch = new FetchStrategy() { MaxFetchDepth = 6 }; fetch.LoadWith<TeamSchedule>(i => i.Team); fetch.LoadWith<Team>(i => i.TeamPlayers); fetch.LoadWith<TeamPlayer>(i => i.Player); fetch.LoadWith<Player>(i => i.Person); fetch.LoadWith<TeamSchedule>(i => i.Attendances); fetch.LoadWith<TeamPlayer>(i => i.PlayerPass); fetch.LoadWith<PlayerPass>(i => i.Player); TeamSchedule schedule = tsc.GetWhere(i => i.TeamScheduleID == TeamScheduleID.Value, fetch).First(); EventName = schedule.EventName; TeamName = schedule.Team.TeamName; Starts = schedule.StartDate; Ends = schedule.EndDate; var knownAttendances = schedule.Attendances.ToList(); var data = schedule.Team.TeamPlayers.Select(i => new PlayerAttendance() { FirstName = i.PlayerID.HasValue ? i.Player.Person.FName : i.PlayerPass.Player.Person.FName, LastName = i.PlayerID.HasValue ? i.Player.Person.LName : i.PlayerPass.Player.Person.LName, Present = knownAttendances.Where(j => j.PlayerID == i.PlayerID).Count() > 0, PlayerID = i.PlayerID.HasValue ? i.PlayerID.Value : i.PlayerPass.PlayerID }); rptPlayer.DataSource = data; rptPlayer.DataBind(); } }
private void Populate(int teamScheduleID) { using (TeamSchedulesController tsc = new TeamSchedulesController()) { FetchStrategy fetch = new FetchStrategy(); fetch.LoadWith<TeamSchedule>(i => i.Team); TeamSchedule teamSchedule = tsc.GetWhere(i => i.TeamScheduleID == TeamScheduleID.Value, fetch).First(); txtStartDate.Text = teamSchedule.StartDate.ToLocalTime().ToString("yyyy-MM-ddTHH:mm"); txtEndDate.Text = teamSchedule.EndDate.ToLocalTime().ToString("yyyy-MM-ddTHH:mm"); txtRSVPBy.Text = teamSchedule.RSVPBy.HasValue ? teamSchedule.RSVPBy.Value.ToLocalTime().ToString("yyyy-MM-ddTHH:mm") : null; txtEventName.Text = teamSchedule.EventName; chkEnableRSVP.Checked = teamSchedule.RSVPBy.HasValue; chkEnableRSVP_CheckedChanged(null, null); // set program/team ptpPicker.SelectedProgramID = teamSchedule.Team.ProgramID; ptpPicker.SelectedTeamID = teamSchedule.TeamID; ptpPicker.Populate(); } }
protected void lnkCreateEvent_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } try { using (TeamSchedulesController tsc = new TeamSchedulesController()) { tsc.AddNew(new TeamSchedule() { CreateDate = DateTime.Now.ToUniversalTime(), CreateUserID = CurrentUser.UserID, EventName = txtEventName.Text, TeamID = ptpPicker.SelectedTeamID.Value, StartDate = DateTime.Parse(txtStartDate.Text).ToUniversalTime(), EndDate = DateTime.Parse(txtEndDate.Text).ToUniversalTime(), RSVPBy = chkEnableRSVP.Checked && !string.IsNullOrWhiteSpace(txtRSVPBy.Text) ? DateTime.Parse(txtRSVPBy.Text).ToUniversalTime() : (DateTime?)null, IsActive = true }); Response.Redirect(ResolveUrl("~/Modules/Scheduler/")); } } catch (Exception ex) { AlertBox_Manage.SetStatus("An error occurred while trying to create new event.", UI.AlertBoxType.Error); } }
protected void lnkUpdateEvent_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } try { using (TeamSchedulesController tsc = new TeamSchedulesController()) { // get clean copy TeamSchedule teamSchedule = tsc.Get(TeamScheduleID.Value); teamSchedule.ModifyDate = DateTime.Now.ToUniversalTime(); teamSchedule.ModifyUserID = CurrentUser.UserID; teamSchedule.EventName = txtEventName.Text; teamSchedule.TeamID = ptpPicker.SelectedTeamID.Value; teamSchedule.StartDate = DateTime.Parse(txtStartDate.Text).ToUniversalTime(); teamSchedule.EndDate = DateTime.Parse(txtEndDate.Text).ToUniversalTime(); teamSchedule.RSVPBy = chkEnableRSVP.Checked && !string.IsNullOrWhiteSpace(txtRSVPBy.Text) ? DateTime.Parse(txtRSVPBy.Text).ToUniversalTime() : (DateTime?)null; tsc.Update(teamSchedule); Response.Redirect(ResolveUrl("~/Modules/Scheduler/")); } } catch (Exception ex) { AlertBox_Manage.SetStatus("An error occurred while trying to create new event.", UI.AlertBoxType.Error); } }
protected void lnkDelete_Click(object sender, EventArgs e) { if(!TeamScheduleID.HasValue){ return; } if (TeamScheduleDeleted == null) { throw new Exception("No event supplied when team schedule is deleted. Cannot delete"); } else { try { using (TeamSchedulesController tsc = new TeamSchedulesController()) { TeamSchedule teamSchedule = tsc.Get(TeamScheduleID.Value); teamSchedule.IsActive = false; teamSchedule.DeleteDate = DateTime.Now.ToUniversalTime(); teamSchedule.DeleteUserID = CurrentUser.UserID; tsc.Update(teamSchedule); OnTeamScheduleDeleted(new TeamScheduleEvent() { Message = "Successfully deleted the event.", MessageType = UI.AlertBoxType.Success }); } } catch (Exception ex) { OnTeamScheduleDeleted(new TeamScheduleEvent() { Message = "An error occurred while attempting to delete the event.", MessageType = UI.AlertBoxType.Error }); } } }