public ActionResult <ArtistApiModel> Put([FromRoute] int id, [FromBody] ArtistApiModel input)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }
                if (_chinookSupervisor.GetArtistById(id) == null)
                {
                    return(NotFound());
                }

                // var errors = JsonConvert.SerializeObject(ModelState.Values
                //     .SelectMany(state => state.Errors)
                //     .Select(error => error.ErrorMessage));
                // Debug.WriteLine(errors);

                if (_chinookSupervisor.UpdateArtist(input))
                {
                    return(Ok(input));
                }

                return(StatusCode(500));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
示例#2
0
        public async Task <ActionResult <ArtistApiModel> > Put(int id, [FromBody] ArtistApiModel input,
                                                               CancellationToken ct = default)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }
                if (await _BlazorSupervisor.GetArtistByIdAsync(id, ct) == null)
                {
                    return(NotFound());
                }

                var errors = JsonConvert.SerializeObject(ModelState.Values
                                                         .SelectMany(state => state.Errors)
                                                         .Select(error => error.ErrorMessage));
                Debug.WriteLine(errors);

                if (await _BlazorSupervisor.UpdateArtistAsync(input, ct))
                {
                    return(Ok(input));
                }

                return(StatusCode(500));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
        public ArtistApiModel AddArtist(ArtistApiModel newArtistApiModel)
        {
            var artist = newArtistApiModel.Convert();

            artist = _artistRepository.Add(artist);
            newArtistApiModel.ArtistId = artist.ArtistId;
            return(newArtistApiModel);
        }
        public async Task <ArtistApiModel> AddArtistAsync(ArtistApiModel newArtistApiModel,
                                                          CancellationToken ct = default)
        {
            var artist = newArtistApiModel.Convert();

            artist = await _artistRepository.AddAsync(artist, ct);

            newArtistApiModel.ArtistId = artist.ArtistId;
            return(newArtistApiModel);
        }
        public bool UpdateArtist(ArtistApiModel artistApiModel)
        {
            var artist = _artistRepository.GetById(artistApiModel.ArtistId);

            if (artist == null)
            {
                return(false);
            }
            artist.ArtistId = artistApiModel.ArtistId;
            artist.Name     = artistApiModel.Name;

            return(_artistRepository.Update(artist));
        }
示例#6
0
        public async Task <bool> UpdateArtistAsync(ArtistApiModel artistViewModel,
                                                   CancellationToken ct = default)
        {
            var artist = await _artistRepository.GetByIdAsync(artistViewModel.ArtistId, ct);

            if (artist == null)
            {
                return(false);
            }
            artist.ArtistId = artistViewModel.ArtistId;
            artist.Name     = artistViewModel.Name;

            return(await _artistRepository.UpdateAsync(artist, ct));
        }
示例#7
0
        public IHttpActionResult Put(int id, ArtistApiModel artist)
        {
            if (artist == null)
            {
                return(this.BadRequest("No data"));
            }

            if (this.artistService.Update(id, artist.Name, artist.DateOfBirth, artist.Country))
            {
                return(this.Ok());
            }

            return(this.NotFound());
        }
示例#8
0
        public async Task <ArtistApiModel> AddArtistAsync(ArtistApiModel newArtistViewModel,
                                                          CancellationToken ct = default)
        {
            /*var artist = new Artist
             * {
             *  Name = newArtistViewModel.Name
             * };*/

            var artist = newArtistViewModel.Convert;

            artist = await _artistRepository.AddAsync(artist, ct);

            newArtistViewModel.ArtistId = artist.ArtistId;
            return(newArtistViewModel);
        }
示例#9
0
        public IHttpActionResult Post(ArtistApiModel artist)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            if (artist == null)
            {
                return(this.BadRequest("No data"));
            }

            this.artistService.Add(artist.Name, artist.DateOfBirth, artist.Country);

            return(this.Ok());
        }
        public ActionResult <ArtistApiModel> Post([FromBody] ArtistApiModel input)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }

                return(StatusCode(201, _chinookSupervisor.AddArtist(input)));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
示例#11
0
        static void Main(string[] args)
        {
            var httpClient = new HttpClient();

            httpClient.BaseAddress = new Uri(ServerAddress);

            // Artists with JSON
            var artist = new ArtistApiModel()
            {
                Name = "Pesho123", Country = "Bulgaria", DateOfBirth = DateTime.Now
            };

            Console.WriteLine("Adding following artist " + artist);
            Console.WriteLine("-----------------------------------");
            Artist.Add(httpClient, artist);
            Console.ReadLine();
            Console.WriteLine("Listing all artists");
            Console.WriteLine("-----------------------------------");
            Artist.Print(httpClient);
            Console.ReadLine();
            var updatedArtist = new ArtistApiModel()
            {
                Name = "PeshoUpdated", Country = "Zimbabve", DateOfBirth = DateTime.Now
            };

            Console.WriteLine("Update artist with ID 1 to " + updatedArtist);
            Console.WriteLine("-----------------------------------");
            Artist.Update(httpClient, 1, artist);
            Console.ReadLine();
            Console.WriteLine("Delete artist with ID 1");
            Console.WriteLine("-----------------------------------");
            Artist.Delete(httpClient, 1);
            Console.ReadLine();

            // Songs with XML
            var song = new SongApiModel()
            {
                Title = "Nothing else matters", Genre = "Blues", Year = 1995, ArtistId = 1
            };

            Song.Add(httpClient, song);
            Console.ReadLine();

            Console.WriteLine("-----------------------------------");
            Song.Print(httpClient);
            Console.ReadLine();
        }
示例#12
0
        public async Task <ActionResult <ArtistApiModel> > Post([FromBody] ArtistApiModel input,
                                                                CancellationToken ct = default)
        {
            try
            {
                if (input == null)
                {
                    return(BadRequest());
                }

                return(StatusCode(201, await _BlazorSupervisor.AddArtistAsync(input, ct)));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
示例#13
0
        public static async void Update(HttpClient httpClient, int id, ArtistApiModel artist)
        {
            HttpContent putContent = new StringContent(JsonConvert.SerializeObject(artist));

            putContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
            var response = await httpClient.PutAsync("artist/" + id, putContent);

            try
            {
                response.EnsureSuccessStatusCode();
                Console.WriteLine("Artist updated!");
            }
            catch (Exception)
            {
                Console.WriteLine("Error creating artist");
            }
        }