Add Roster Selections for Games

Scott on 9/22/2015 4:38 PM

Scott on 4/1/2016 3:33 AM


0 (hrs)


We need to add the ability to Roster teams for games within the sport.

  1. Create a new Menu Link under League > League and call it "Rosters"
  2. Create a new folder and view under the Views > Roster folder.
  3. Create a new controller and call it RosterController
  4. The first view will be called Rosters
  5. The create view will be called CreateRoster
  6. The view, view will be called ViewRoster
  7. The edit view will be called EditRoster

You can take what was written for Links or Jobs to understand what we need.

To Create a Roster

  1. We need to Create two fields.
    1. Roster Name:
    2. Game Date:
  2. Next on the Create Page, there will be Two lists.
    1. One list with all the members on it on the left hand side.
    2. One list with none of the members on it.
    3. You will be able to drag and drop one member to the other list.
    4. You will use this library: http://rubaxa.github.io/Sortable/
  3. There will be a field under that, called Insurance Numbers.  It will show all the fields of the ENUM: RDN.Portable.Classes.Insurance.InsuranceType
    1. Each field will be a checkbox.  
  4. There will be a save button after that to save it all.

The database tables

  1. RDN_Roster - This table will contain a League relationship.
  2. RDN_Roster_Member - This is a relationship table, just like RDN.Library.DataModels.League.LeagueMember

The Rosters View

  1. Will have a list of all the rosters created.
  2. The fields of this table will be
    1. Roster Name, Game Date, Roster Size (The number of members selected for this roster)
  3. The name of the roster shall be clickable to the View Roster.
    1. There shall be a view button next to the link and that will take them to the view Roster page too.
    2. On the right hand side, there shall be a Edit button.  That edit button will only be shown for secretaries or better.
    3. There shall be an export button next to the Edit button.  The export button will be shown to everyone and allow anyone to export the current roster.
  4. The Create button will be in the upper right hand side of the view.  This button will be shown to everyone.

The Edit Roster View

  1. Just like the Create View.
  2. But we will need to edit all these fields.

The View Roster View

  1. Same fields as the Create view.
  2. No editing for this view.
  3. We need an EXPORT button in the top right.
    1. The export should look like the attached Excel spreadsheet.
  4. Depending which Insurance number was selected in the list of insurance numbers list, that insurance number(s) will be displayed in a column.








create the ability to generate rosters for games.

Skip Navigation Links

Scott Saturday, February 20, 2016 7:14 PM #

I don't see the pull request for this one.  Please add a pull request.


Scott Sunday, February 14, 2016 8:50 PM #

One more bug.

  1. Add new roster.
    1. Add several members to the roster.
    2. Then delete a member from the roster.
      1. Find the person in the drop down.  
      2. For some reason, they have the word Confirm Delete next to their name....
  2. Edit a Roster
    1. I should be able to DELETE a roster from this page.  Confirm Delete.  if I am MemberCache.IsRosterOrBetter
    2. The members in the roster should not appear in the drop down.....
    3. Delete a member from this roster and they have confirm delete next to their names...

Scott Friday, February 12, 2016 7:35 PM #

  1. On Edit Roster
    1. If the user is in the list below, do not let that person be in the drop down above it.
      1. If the person is deleted from the list below, then the name should be added back to the drop down above.
    2. After adding a member with the add button, the focus should be back on the dropdown.
    3. Please use the confirm delete button for deleting the Roster.  This is the same delete button used in Messages > Delete button.
  2. On Add Roster 
    1. If the person is added to the roster below, remove them from the dropdown.
    2. If the person is deleted from the list below, add them back to the dropdwon.

Scott Thursday, January 28, 2016 7:37 PM #

  1. Review the attachment.
    1. If only one member is on the roster, then the alignment is really off.
  2. On the Add New Roster page.
    1. The Rulesets
      1. The_WFTDA and Texas_Derby need the _ removed.
  3. On the Edit Rosters Page
    1. The title is called Add New Roster - Please fix this to Edit Roster
    2. The Roster Members needs to be fixed to Members
    3. If I select no members and then update, the rosters page breaks.  Allow the member not to have any members for the Roster to start. 
  4. On the View Roster Page
    1. The Members are higher than the name Members.
    2. Review the attachment.

Scott Wednesday, January 06, 2016 9:08 PM #

Looks good so far.

A couple of things.

  1. On the Add Roster Screen
    1. I don't like the animation when dragging and dropping.  Please remove the simple animation.  Just allow the person to drag and drop.
    2. The Roster list should be using the Property called SiteName.  I don't think it is, as I think its using DerbyName
    3. Insurance Type list is correct.
      1. If the LibraryConfig.SiteType != RollerDerby
        1. Only show "Other" for Insurance type.
      2. If the LibraryConfig.SiteType == RollerDerby
        1. Show all the insuranceTypes.
    4. We need to add one more Ruleset to the Enum.
      1. Add the ruleset "Other"
    5. Ruleset needs to be updated a little.
      1. If the LibraryConfig.SiteType != RollerDerby
        1. Only show "Other" for Ruleset
      2. If the LibraryConfig.SiteType == RollerDerby
        1. Show all the Rulesets
    6. Change the title of the page to "Add Roster"
      1. it is CreateRoster right now.
    7. Please remove the word "Roster" from "Roster Members"
  2. On the View All Rosters Screen
    1. Change the title of the page to View Rosters
  3. ‚ÄčOn the View Roster Screen
    1. Bold all the left hand items and UNBOLD all the right hand items.
    2. Make sure Roster Members are using SiteName instead of DerbyName
    3. The ruleset The_WFTDA is underlined.  Please remove that.
      1. Use EnumExt.ToFreindlyName
    4. For some reason, the Members list, if its big, is above the word Roster Members
    5. Please remove the word "Roster" from "Roster Members"
  4. On the Export View
    1. Please use the command  reportSheet.Cells["A1:K20"].AutoFitColumns();
      1. This will resize the columns correctly.
    2. The Title "Derby Name" is correct, but
      1. If the LibraryConfig.SiteType != RollerDerby
        1. Use the title "Nick Name"
      2. If the LibraryConfig.SiteType == RollerDerby
        1. Use the title "Derby Name"
  5. On the Edit Roster
    1. Please remove the animation when dragging and dropping.
    2. The members that are already on the right side, are showing up on the left.
      1. Please remove the left side members if they are already on the right.
    3. Change the Title of the page to "Edit Roster"
    4. The ruleset The_WFTDA is underlined.
      1. Please remove the underline.
    5. Insurance Type list is correct.
      1. If the LibraryConfig.SiteType != RollerDerby
        1. Only show "Other" for Insurance type.
      2. If the LibraryConfig.SiteType == RollerDerby
        1. Show all the insuranceTypes.
    6. Ruleset needs to be updated a little.
      1. If the LibraryConfig.SiteType != RollerDerby
        1. Only show "Other" for Ruleset
      2. If the LibraryConfig.SiteType == RollerDerby
        1. Show all the Rulesets
    7. If the calendars date is set in the textbox, the when clicking on the date again, it doesn't show up in the popup calendar.  Please select the date in the popup calendar.

Scott Saturday, December 26, 2015 7:27 PM #

We also need to add a New Permission for Rosters I think.

  1. On the League > Members > Permissions tab, we need to add a new Permission called Roster.
  2. The text below this page should have a new Roster bullet point.
    1. Roster - Can manage rosters, add remove and edit all roster information.

Update all the permission information for Roster as to what the sponsorship permission is.  

Please review the comments





by the way, the code looks really good.

You wrote really nice code for this new feature.  Thanks!


Scott Thursday, December 24, 2015 4:16 PM #


  1. Skater Name = MemberDisplay.DerbyName
  2. # = MemberDisplay.PlayerNumber
  3. WFTDA # = MemberDisplay.InsuranceNumbers.InsuranceType == WFTDA
    1. Then select the Number from that item.
  4. Real Name = MemberDisplay.RealName
  5. Don't Worry about status.

Dharmesh Thursday, December 24, 2015 4:10 PM #

Can you please explain attached excel columns ? I can not understand which columns need to map with roster table.


Scott Sunday, December 20, 2015 6:56 PM #

Yep, I need to give you access to it.

You should now be able to do it.  Please make sure to use the following NUGET package

https://www.nuget.org/packages/EPPlus as it should already by in the RDN.Library


Dharmesh Sunday, December 20, 2015 7:31 AM #

I have completed this task and also checked in except export excel functationality in view roster screen.

I am not able to access attached excel sheet and got message as 'You do not have proper permissions to access this Attachment'.

Can you please check?




Scott Tuesday, December 08, 2015 2:19 AM #

In Roller Derby and other sports, teams might play by a different set of rules.  That is the use of the RuleSet.  

  1. It should be chosen in the Create View from a drop down.
  2. It should be editable in the Edit View.
  3. It should be viewable in the View

Save the InsuranceType as a LONG instead of an integer since it is a flag.  The Roster_Member table is the perfect place.


Dharmesh Sunday, December 06, 2015 3:30 AM #

What is the use of RuleSets which you like to add in RDN_Roster table? Do I need to add in any view?

Do I need to add Flag attribute on InsuranceType Enum? InsuranceType will be save in RDN_Roster_Member table and it will be integer. Is it okay?



Scott Saturday, December 05, 2015 3:16 AM #

  1. Make sure both tables have IDs and they inherit from InheritDb.
  2. The RDN_Roster_Member should have the InsuranceType which is selected for EACH member.
    1. The view/edit/create html pages will see the MemberDisplay.InsuranceNumbers
  3. The RDN_Roster table should have a RuleSet which is RuleSetsUsedEnum
  4. Icon: http://fortawesome.github.io/Font-Awesome/icon/users/
  5. The two columns below should be relationships, not direct GUIDs.
    1. 1) LeagueId (uniqueidentifier)

      1) MemberId (uniqueidentifier)


Dharmesh Friday, December 04, 2015 6:08 PM #

Can you please suggest icon for roster?

How can I manage Insurance Numbers field with enum with database table? Do I need to add Flag attribute to InsuranceType enum like MemberType enum? 

Please confirm columns for the database tables give below.


1) RosterName (nvarchar(max))

2) Game Date (datetime)

3) LeagueId (uniqueidentifier)

4) InsuranceType (int)


1) LeagueId (uniqueidentifier)

1) MemberId (uniqueidentifier)



Powered by BugNET 1.6.339.0