public List <Album> GetAllTheAlbumsOf(string email) { AuthQueriesCommands AuthCQ = new AuthQueriesCommands(); AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); return(AlbumCQ.GetAllAlbumsOf(AuthCQ.GetAccountByEmail(email))); }
public bool IsAccountContainsThisAlbum(string email, Guid albumId) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); AuthQueriesCommands AuthCQ = new AuthQueriesCommands(); var account = AuthCQ.GetAccountByEmail(email.ToLower()); if (account == null) { return(false); } var albums = AlbumCQ.GetAllAlbumsOf(account); if (albums.Count > 0) { if (albums.Any(rec => rec.Id == albumId)) { return(true); } else { return(false); } } else { return(false); } }
public int EditAlbum(Guid albumId, string albumName, int totalTrack) { AlbumQueriesCommands albumCQ = new AlbumQueriesCommands(); Album album = albumCQ.GetAlbumById(albumId); if (album != null) { if (albumCQ.AlbumEmptiness(album) != 1) { //Can't edit album as one song alredy registered under the album return(2); } album.Album_Name = albumName; album.Total_Track = totalTrack; var result = albumCQ.EditAlbumDetails(album); if (result != 1) { //Internal Error occured while changing data for the album return(3); } else { //Album details changed Successfully return(1); } } else { //No album found with the Id provided return(0); } }
public int CreateNewAlbum(string email, string albumName, int totalTrack) { logic = new GeneralLogics(); PurchaseRecordQueriesCommands purchaseCQ = new PurchaseRecordQueriesCommands(); AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); AuthQueriesCommands AuthCQ = new AuthQueriesCommands(); Account account = AuthCQ.GetAccountByEmail(email); if (account != null) { var GetListOfUnUsedPurchase = purchaseCQ.GetUnUsedAlbumPurchaseRecordOf(account); if (GetListOfUnUsedPurchase.Count > 0) { Album album = new Album(); album.Id = logic.CreateUniqueId(); album.Album_Name = albumName; album.Total_Track = totalTrack; album.Album_Creation_Date = logic.CurrentIndianTime(); album.Submitted_Track = 0; album.PurchaseTrack_RefNo = GetListOfUnUsedPurchase.First().Id; var resultCreateAlbum = AlbumCQ.CreateAlbum(album); if (resultCreateAlbum == 1) { var purchaseRecord = purchaseCQ.GetPurchaseRecordById(album.PurchaseTrack_RefNo); purchaseRecord.Usage_Date = logic.CurrentIndianTime(); int resultPurchaseRecordUpdate = purchaseCQ.UpdatePurchaseRecord(purchaseRecord); if (resultPurchaseRecordUpdate == 1) { //Album created, PurchaseRecord is modified with UsageDate. Operation Completed successfully return(1); } else { //Internal error occured while updating the record in PurchaseRecord table.Operation failed return(4); } } else { //Album creation failed return(3); } } else { //No purchase left to create an music album. return(2); } } else { //No Account Found return(0); } }
public List <AlbumTrackMaster> GetAllTracksWithAlbumDetails(Guid albumId) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); var result = AlbumCQ.GetAllTracksWithAlbumDetails(albumId); //Result could be null or a list consists of Tracks with store submission report and all. return(result); }
public List <SingleTrackDetail> GetTrackDetailsOfAlbum(Guid albumId) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); var result = AlbumCQ.GetAllTracksOfAlbum(albumId); //Result could be null or a list consists of Tracks return(result); }
public int UpdateStoreSubmissionStatusForAlbumTrack(Guid albumId, Guid trackId, int statusCode) { AlbumQueriesCommands albumCQ = new AlbumQueriesCommands(); if (albumCQ.UpdateStoreSubmissionStatus(albumId, trackId, statusCode) == 1) { return(1); } else { return(0); } }
public bool IsAlbumFull(Guid albumId) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); if (AlbumCQ.AlbumEmptiness(AlbumCQ.GetAlbumById(albumId)) == 3) { return(true); } else { return(false); } }
public int DeleteAlbum(Guid albumId) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); var albumObject = AlbumCQ.GetAlbumById(albumId); if (albumObject != null) { var trackListOftheAlbum = AlbumCQ.GetAllTracksOfAlbum(albumId); if (trackListOftheAlbum.Count == 0) { var resultOfDeletingAlbum = AlbumCQ.DeleteAlbum(albumObject); if (resultOfDeletingAlbum == 1) { return(1); } else { return(5); } } else if (trackListOftheAlbum.Count > 0) { var resultOfRemovingSolos = AlbumCQ.RemoveSingleTracksFromAlbum(trackListOftheAlbum); if (resultOfRemovingSolos == 1) { var resultOfDeletingAlbum = AlbumCQ.DeleteAlbum(albumObject); if (resultOfDeletingAlbum == 1) { return(1); } else { return(4); } } else { return(3); } } else { return(2); } } else { return(0); } }
public bool IsAlbumExpired(Guid albumId) { logic = new GeneralLogics(); AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); if (AlbumCQ.GetAlbumById(albumId).PurchaseRecord.Usage_Exp_Date < logic.CurrentIndianTime()) { return(true); } else { return(false); } }
public int CreateNewTrackForAlbum(Guid albumId, string TrackTitle, string ArtistName, bool ArtistAlreadyInSpotify, string ArtistSpotifyUrl, DateTime ReleaseDate, string Genre, string CopyrightClaimerName, string AuthorName, string ComposerName, string ArrangerName, string ProducerName, bool AlreadyHaveAnISRC, string ISRC_Number, int PriceTier, bool ExplicitContent, bool IsTrackInstrumental, string LyricsLanguage, string TrackZipFileLink, string ArtWork_Link) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); PurchaseRecordQueriesCommands PurchaseCQ = new PurchaseRecordQueriesCommands(); logic = new GeneralLogics(); var albumObject = AlbumCQ.GetAlbumById(albumId); if (albumObject != null) { if (PurchaseCQ.GetPurchaseRecordById(albumObject.PurchaseTrack_RefNo).Usage_Exp_Date < logic.CurrentIndianTime()) { //Can't add more track in the album as purchase expired return(7); } if (albumObject.Total_Track <= albumObject.Submitted_Track) { //can't add more track in the album as the album is full return(8); } byte ArtistSpotifyAppearance = 1; byte PresenceOfISRCnumber = 1; byte PresenceOfExplicitContent = 1; byte InstrumentalTrackPresence = 1; if (ArtistAlreadyInSpotify == false) { ArtistSpotifyAppearance = 0; } if (AlreadyHaveAnISRC == false) { PresenceOfISRCnumber = 0; } if (IsTrackInstrumental == false) { InstrumentalTrackPresence = 0; } if (ExplicitContent == false) { PresenceOfExplicitContent = 0; } SingleTrackDetail std = new SingleTrackDetail(); std.Id = logic.CreateUniqueId(); std.TrackTitle = TrackTitle; std.ArtistName = ArtistName; std.ArtistAlreadyInSpotify = ArtistSpotifyAppearance; std.ArtistSpotifyUrl = ArtistSpotifyUrl; std.ReleaseDate = ReleaseDate; std.Genre = Genre; std.CopyrightClaimerName = CopyrightClaimerName; std.AuthorName = AuthorName; std.ComposerName = ComposerName; std.ArrangerName = ArrangerName; std.ProducerName = ProducerName; std.AlreadyHaveAnISRC = PresenceOfISRCnumber; std.ISRC_Number = ISRC_Number; std.PriceTier = PriceTier; std.ExplicitContent = PresenceOfExplicitContent; std.IsTrackInstrumental = InstrumentalTrackPresence; std.LyricsLanguage = LyricsLanguage; std.TrackZipFileLink = TrackZipFileLink; std.ArtworkFileLink = ArtWork_Link.Trim(); TrackQueriesCommands TrackCQ = new TrackQueriesCommands(); //add single track var singleTrackSaveResult = TrackCQ.AddTrack(std); if (singleTrackSaveResult == 1) { //Link track with the album. Work on albumtrackMaster table AlbumTrackMaster atm = new AlbumTrackMaster(); atm.Id = logic.CreateUniqueId(); atm.Album_Id = albumId; atm.Track_Id = std.Id; atm.Submitted_At = logic.CurrentIndianTime(); //Status = pending atm.StoreSubmissionStatus = 2; var atmSaveResult = TrackCQ.AddtoAlbumTrackMaster(atm); if (atmSaveResult == 1) { //increment the number of the submitted track for the album albumObject.Submitted_Track = albumObject.Submitted_Track + 1; var albumEditResult = AlbumCQ.EditAlbumDetails(albumObject); if (albumEditResult == 1) { //if it's the first track of the album then set purchase record usage expire time albumObject = AlbumCQ.GetAlbumById(albumId); if (albumObject != null) { //if (albumObject.Submitted_Track == 1) //{ //PurchaseRecord pr = PurchaseCQ.GetPurchaseRecordById(albumObject.PurchaseTrack_RefNo); //if (pr != null) //{ // pr.Usage_Exp_Date = logic.CurrentIndianTime().AddHours(24); // var purchaseEditResult = PurchaseCQ.UpdatePurchaseRecord(pr); // if (purchaseEditResult == 1) // { // //purchase expire date set // return 1; // } // else // { // //Error while setting the expire date // return 11; // } //} //else //{ // //error while fetching the purchase record of the album // return 10; //} //} return(1); } else { //error while fetching the album return(9); } } else { //Error occured while updating album record return(6); } } else { //Error occured while adding albumTrackMaster record return(5); } } else { //Error occured while saving single track to the database return(4); } } else { //No album found with the provided Album Id return(0); } }
public List <AlbumTrackMaster> GetAllAlbumsWithTracks() { AlbumQueriesCommands albumCQ = new AlbumQueriesCommands(); return(albumCQ.GetAllAlbumsWithTrackDetail()); }
public AlbumTrackMaster GetAlbumDetail(Guid albumId, Guid trackId) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); return(AlbumCQ.GetAlbumTrackObject(albumId, trackId)); }
public Album GetAlbumById(Guid albumId) { AlbumQueriesCommands AlbumCQ = new AlbumQueriesCommands(); return(AlbumCQ.GetAlbumById(albumId)); }