DMIT-2018 / dmit-2018-sep-2022-a02-workbook-jcareyes

dmit-2018-sep-2022-a02-workbook-jcareyes created by GitHub Classroom
0 stars 0 forks source link

General Planning Implementation Tasks of Managing Playlist in Chinook #1

Open jcareyes opened 2 years ago

jcareyes commented 2 years ago

This task list area will be completed once the implementation plan has been outlined. This area is where one created the task list that is associated with the milestone. The tasks that are outlined in this area, are the tasks that are counted for the milestone.

jcareyes commented 2 years ago

UI Experience

This comment outlines the action that can happen on the forms. Action are in response to the user interacting with the form, pressing button or controls.

PRG Post Redirect Get


Track Selection for Artist or Album and Managing Specified Playlist

MicrosoftTeams-image (15)

jcareyes commented 2 years ago

Data Models

The data models are the C# classes that will be coded in the folder(ViewModels) that holds the data classes in our solution. These classes represent the query class models and the command class model (CQRS)

MicrosoftTeams-image (16)


Query Model

Artist and Album Track Fetch

MicrosoftTeams-image (17)

public class TrackSelection
{
    public int TrackID {get; set;}
    public string SongName {get; set;}
    public string AlbumTitle {get; set;}
    public string ArtistName {get; set;}
    public int Milliseconds {get; set;}
    public decimal Price {get; set;}
}

Current Playlist Tracks

MicrosoftTeams-image (20)

public class PlaylistTrackInfo
{
    public int TrackID {get; set;}
    public int TrackNumber {get; set;}
    public string SongName {get; set;}
    public int Milliseconds {get; set;}
}

Command Models'

Colors Yellow: Data Coming In Green: Primary Keys being auto generated Blue: Program will be creating Red: Where it can be used

Add Track

MicrosoftTeams-image (19)

No model class, individual parameters

Remove Tracks

MicrosoftTeams-image (18)

UserName and PlaylistName are individual parameters. Requires TrackID list in a List (no data model)

Move Tracks (Re-sequence playlist)

MicrosoftTeams-image (21)

public class PlaylistTrackMove
{
    public int PlaylistTrackID {get; set;}
    public int TrackID {get; set;}
    public int TrackNumber {get; set;} // New Track # 
}
jcareyes commented 2 years ago

Business Processing Requirements

This comment will describe the various methods that will be used for Commands (CQRS) that alter the database. Queries are read only and require on average no complex processing. However, commands require business rules validations and manipulations of one or more tables and/or records. Therefore, the processing of commands should be outlined.

Include the method signature and a bullet list of processes

Add Track

void PlaylistTrack_AddTrack(string playlistName, string userName, int trackID)