public async Task <IHttpActionResult> Update(PlaylistResultModel model) { var serviceResult = new ServiceResult <PlaylistModel>(); if (!ModelState.IsValid) { serviceResult.Success = false; serviceResult.Error.Description = "Model is not valid."; serviceResult.Error.Code = ErrorStatusCode.BudRequest; return(ServiceResult(serviceResult)); } if (model.OwnerId != User.Identity.GetUserId()) { serviceResult.Success = false; serviceResult.Error.Description = "Id of owner and id of current user not equals."; serviceResult.Error.Code = ErrorStatusCode.BudRequest; return(ServiceResult(serviceResult)); } var result = await _playlistService.Update(model); serviceResult.Success = result.Success; if (result.Success) { serviceResult.Result = model; } else { serviceResult.Error = result.Error; } return(ServiceResult(serviceResult)); }
public async Task <ServiceResult> Update(PlaylistResultModel model) { var serviceResult = new ServiceResult(); var playlistResult = await this.Get(model.Id); if (!playlistResult.Success) { serviceResult.Error = playlistResult.Error; return(serviceResult); } var songsResult = model.Songs == null || model.Songs.Count == 0 ? new DatabaseManyResult <SongModel>() { Success = true, Entities = null } : await _songRepository.GetMany(model.Songs, 0, 50); if (!songsResult.Success) { serviceResult.Error.Code = ErrorStatusCode.BudRequest; serviceResult.Error.Description = songsResult.Message; return(serviceResult); } playlistResult.Result.Name = model.Name; playlistResult.Result.ArtId = model.ArtId; playlistResult.Result.Songs = songsResult.Entities; var result = await _playlistRepository.Update(playlistResult.Result); serviceResult.Success = result.Success; if (!result.Success) { serviceResult.Error.Code = ErrorStatusCode.BudRequest; serviceResult.Error.Description = result.Message; } return(serviceResult); }
public async Task <ServiceResult <PlaylistResultModel> > Update(PlaylistResultModel model) { var serviceResult = new ServiceResult <PlaylistResultModel>(); var getAuthorizedUserServiceResult = await _authorizedUserService.Get(); if (getAuthorizedUserServiceResult.Success) { var authorizedUser = getAuthorizedUserServiceResult.Result; var restUrl = $"{_ipServerPort}{_apiControllerRoutePrefix}/Update"; var restServiceResult = await _restClient.MakeApiCall <PlaylistResultModel> ( restUrl, HttpMethod.Post, data : model, accessToken : authorizedUser.AccessToken ); if (!restServiceResult.Success) { serviceResult.Error = restServiceResult.Error; } else { serviceResult.Success = true; serviceResult.Result = restServiceResult.Result; } } else { serviceResult.Error = getAuthorizedUserServiceResult.Error; } return(serviceResult); }
public async Task <IHttpActionResult> Add(PlaylistResultModel model) { var serviceResult = new ServiceResult <PlaylistModel>(); ModelState.Remove("model.Id"); if (!ModelState.IsValid) { serviceResult.Success = false; serviceResult.Error.Description = "Model is not valid."; serviceResult.Error.Code = ErrorStatusCode.BudRequest; return(ServiceResult(serviceResult)); } if (model.OwnerId != User.Identity.GetUserId()) { serviceResult.Success = false; serviceResult.Error.Description = "Id of owner and id of current user not equals."; serviceResult.Error.Code = ErrorStatusCode.BudRequest; return(ServiceResult(serviceResult)); } model.Id = System.Guid.NewGuid().ToString("N").Substring(0, 24); var result = await _playlistService.Add(model); serviceResult.Success = result.Success; if (result.Success) { serviceResult.Result = model; } else { serviceResult.Error = result.Error; } return(ServiceResult(serviceResult)); }
public async Task <ServiceResult> Add(PlaylistResultModel model) { var serviceResult = new ServiceResult(); var songsResult = model.Songs == null || model.Songs.Count == 0 ? new DatabaseManyResult <SongModel>() { Success = true, Entities = null } : await _songRepository.GetMany(model.Songs, 0, 50); if (!songsResult.Success) { serviceResult.Error.Code = ErrorStatusCode.BudRequest; serviceResult.Error.Description = songsResult.Message; return(serviceResult); } var modelObject = new PlaylistModel() { Id = model.Id, Name = model.Name, ArtId = model.ArtId, OwnerId = model.OwnerId, Songs = songsResult.Entities }; var result = await _playlistRepository.Add(modelObject); serviceResult.Success = result.Success; if (!result.Success) { serviceResult.Error.Code = ErrorStatusCode.BudRequest; serviceResult.Error.Description = result.Message; } return(serviceResult); }