Esempio n. 1
0
        /// <summary>
        /// Aplica reglas de negocio a la lista de origen e intenta guardar la informacion faltante en la base de datos
        /// Solo incorpora libros que NO EXISTEN
        /// </summary>
        /// <param name="lista"></param>
        public void ExportarListaDeLibros(IEnumerable <Libro> lista)
        {
            //  ver si el libro ya existe...(por ISBN13)
            //  si el ISBN es null lo agrego sin mas...
            //  si no existe lo agrego

            //  foreach (Libro libro in lista.Take(1))
            //  usar Take(1) si queremos ver el comportamiento para un unico libro
            //
            foreach (Libro libro in lista)
            {
                if (!_ctx.Libros.Any(lib => lib.ISBN13 == libro.ISBN13))
                {
                    //  podriamos setear la PK desde nuestra aplicacion!
                    //
                    //  nuevo.ID_Real = Guid.NewGuid();
                    //
                    _ctx.Libros.Add(libro);
                }
                else
                {
                    _logger.LogWarning("Se intento ingresar un elemento existente {libro}", libro);
                }
            }
            //  guardamos la operacion TOTAL
            //
            _ctx.SaveChanges();
        }
Esempio n. 2
0
        public bool AgregarAutor(Autor nuevo)
        {
            try
            {
                if (_ctx.Autores.Any(aut => aut.Nombre == nuevo.Nombre))
                {
                    return(false);
                }

                _ctx.Autores.Add(nuevo);
                _ctx.SaveChanges();

                return(true);
            }
            catch
            {
                //  LOG!!
                return(false);
            }
        }