public ActionResult <CustomResponseModel> UpdatePlaylist([FromForm] PlaylistCreateModel playlistCreateModel, [Required] string playlistId) { playlistCreateModel.CreatorId = new PlaylistDataAccess().JwtTokenValidation(playlistCreateModel.JwtToken); if (playlistCreateModel.CreatorId == "") { return(Unauthorized(new CustomResponseModel() { Code = "401", Phrase = "Unauthorized", Message = "Invalid Jwt Token" })); } if (new PlaylistDataAccess().IsListenerOrArtist(playlistCreateModel.CreatorId)) { playlistCreateModel.PlaylistId = playlistId; if (new PlaylistDataAccess().UpdatePlaylist(playlistCreateModel)) { return(Ok(new CustomResponseModel() { Code = "200", Phrase = "OK", Message = "Playlist Updated" })); } } else { return(Unauthorized(new CustomResponseModel() { Code = "401", Phrase = "Unauthorized", Message = "Playlist Updator Must be a Listener or Artist" })); } return(BadRequest(new CustomResponseModel() { Code = "400", Phrase = "BadRequest", Message = "Playlist Updation Failed" })); }
public IActionResult CreatePlaylist([FromBody] PlaylistCreateModel playlistModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string userId = User.FindFirstValue(ClaimTypes.NameIdentifier); User user = _repoWrapper.User.FindByCondition(u => u.Id.ToString() == userId).FirstOrDefault(); if (user == null) { return(BadRequest("Token is incorrect")); } IQueryable <Playlist> playlists = _repoWrapper.Playlist .FindByCondition(p => p.UserId == user.Id && p.Name == playlistModel.Name); if (playlists.Count() != 0) { return(BadRequest("Name alredy exists")); } Playlist playlist = new Playlist() { Name = playlistModel.Name, DateCreated = DateTime.Now, UserId = user.Id }; _repoWrapper.Playlist.Create(playlist); _repoWrapper.Save(); return(Ok(playlist)); }
//UPDATE PLAYLIST public bool UpdatePlaylist(PlaylistCreateModel playlistCreateModel) { if (playlistCreateModel.PlaylistImage != null) { playlistCreateModel.PlaylistImageUrl = UploadPlaylistCoverImage(playlistCreateModel.PlaylistImage, playlistCreateModel.PlaylistId); } else { playlistCreateModel.PlaylistImageUrl = UploadPlaylistCoverImage(new DynamicPictureGenerator().GenerateNewImage(playlistCreateModel.PlaylistName[0].ToString(), 854, 854, 500), playlistCreateModel.PlaylistId); } var collection = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("playlists"); var filter = Builders <BsonDocument> .Filter.Eq("PlaylistId", playlistCreateModel.PlaylistId); var update = Builders <BsonDocument> .Update.Set("PlaylistId", playlistCreateModel.PlaylistId); foreach (PropertyInfo prop in playlistCreateModel.GetType().GetProperties()) { var value = playlistCreateModel.GetType().GetProperty(prop.Name).GetValue(playlistCreateModel, null); if ((prop.Name != "PlaylistId") && (prop.Name != "JwtToken") && (prop.Name != "PlaylistImage")) { if (value != null) { update = update.Set(prop.Name, value); } } } if (collection.UpdateOne(filter, update).ModifiedCount > 0) { return(true); } return(false); }
//INSERT ALBUM public bool CreatePlaylist(PlaylistCreateModel playlistCreateModel) { if (playlistCreateModel.PlaylistImage != null) { playlistCreateModel.PlaylistImageUrl = UploadPlaylistCoverImage(playlistCreateModel.PlaylistImage, playlistCreateModel.PlaylistId); } else { playlistCreateModel.PlaylistImageUrl = UploadPlaylistCoverImage(new DynamicPictureGenerator().GenerateNewImage(playlistCreateModel.PlaylistName[0].ToString(), 854, 854, 500), playlistCreateModel.PlaylistId); } try { var collection = new MongodbConnectionProvider().GeShantyDatabase().GetCollection <BsonDocument>("playlists"); var document = new BsonDocument { { "PlaylistId", playlistCreateModel.PlaylistId }, { "PlaylistName", playlistCreateModel.PlaylistName }, { "PlaylistImageUrl", playlistCreateModel.PlaylistImageUrl }, { "CreatorId", playlistCreateModel.CreatorId }, { "Songs", new BsonArray() } }; collection.InsertOne(document); return(true); } catch (Exception) { return(false); } }
public async Task Create(PlaylistCreateModel model, string userId) { Playlist playlist = model.To <Playlist>(); playlist.UserId = userId; await this.context.Playlists.AddAsync(playlist); await this.context.SaveChangesAsync(); }
public async Task <IActionResult> Post(PlaylistCreateModel model) { if (!this.ModelState.IsValid) { return(this.BadRequest()); } var userId = this.userManager.GetUserId(this.User); await this.playlistService.Create(model, userId); return(this.StatusCode(StatusCodes.Status201Created)); }