Beispiel #1
0
        public async Task <int> PostLibro(RequestLibro requestLibro)
        {
            var esisteLibro = await _libriService.GetLibroByTitolo(requestLibro.Titolo);

            if (esisteLibro == null)
            {
                var DaInserire = new Libro();
                DaInserire.Titolo   = requestLibro.Titolo;
                DaInserire.AnnoPub  = requestLibro.AnnoPub;
                DaInserire.Prezzo   = requestLibro.Prezzo;
                DaInserire.Sconto   = requestLibro.Sconto;
                DaInserire.Libreria = await _libriService.Check(requestLibro.NomeLibreria, requestLibro.Luogo);

                DaInserire.LibroAutores = new List <LibroAutore>();
                var tmp = new LibroAutore();
                tmp.Autore = await _libriService.CheckAutore(requestLibro.NomeAutore, requestLibro.CognomeAutore);

                tmp.Libro = DaInserire;
                DaInserire.LibroAutores.Add(tmp);
                var insert = await _libriService.AddLibroToDb(DaInserire);

                if (insert != 0)
                {
                    return(insert);
                }
                else
                {
                    return(0);
                }
            }
            return(0);
        }
        public async Task <IActionResult> Post([FromBody] RequestLibro value)
        {
            try
            {
                var res = await _libroCore.PostLibro(value);

                if (res != 0)
                {
                    return(Ok(res));
                }
                else
                {
                    return(BadRequest());
                }
            }
            catch (Exception)
            {
                return(StatusCode(500, null));
            }
        }