/// <summary>
        /// Adiciona um novo Livro
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public LivroResponse Add(LivroRequest request)
        {
            List <Exemplares> exemplares = new List <Exemplares>();

            if (TitleAlreadyExists(request.Titulo))
            {
                throw new LivroException("Não é possível cadastrar o livro desejado pois já existe um com o mesmo Título");
            }

            Entity.Livros dbLivro = new Entity.Livros(request);
            _livroRepository.Add(dbLivro);

            // cadastra exemplares
            for (int i = 0; i < request.QtdeExemplares; i++)
            {
                Exemplares dbExemplares = new Exemplares()
                {
                    Livro = dbLivro
                };

                exemplares.Add(dbExemplares);
            }
            _exemplarRepository.AddRange(exemplares);

            _livroRepository.SaveChanges();
            _exemplarRepository.SaveChanges();

            return(new LivroResponse(dbLivro, exemplares));
        }
Beispiel #2
0
        public void Add(LivroViewModel livroVm)
        {
            var livro = _mapper.Map <Livro>(livroVm);

            Validate(livro);
            _livroRepository.Add(livro);
        }
        public Task Handle(AdicionarLivroCommand command, CancellationToken cancellationToken)
        {
            // simple fields validations
            if (!command.IsValid())
            {
                NotifyValidationErrors(command);
                return(Task.CompletedTask);
            }

            // init domain model
            var livro = new Livro(command.Titulo,
                                  command.Descricao,
                                  command.Autor,
                                  command.Editora,
                                  command.Edicao,
                                  command.ISBN,
                                  command.Idioma);

            // validating book title
            if (_livroRepository.ObterPorTitulo(livro.Titulo).FirstOrDefault() != null)
            {
                _mediatr.RaiseEvent(new DomainNotification(command.MessageType, "Já existe um livro com esse título."));
                return(Task.CompletedTask);
            }

            _livroRepository.Add(livro);

            Commit();
            return(Task.CompletedTask);
        }
        public void Handle(RegisterNewLivroCommand message)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return;
            }

            var livro = new Livro(Guid.NewGuid(),
                                  message.Titulo,
                                  message.Autor,
                                  message.AnoPublicacao,
                                  message.Quantidade);

            _livroRepository.Add(livro);

            if (Commit())
            {
                Bus.RaiseEvent(new LivroRegisteredEvent(livro.Id,
                                                        livro.Titulo,
                                                        livro.Autor,
                                                        livro.AnoPublicacao,
                                                        livro.Quantidade));
            }
        }
Beispiel #5
0
        public IActionResult Post([FromBody] Livro livro)
        {
            if (livro == null)
            {
                return(BadRequest());
            }

            _livroRepository.Add(livro);

            return(CreatedAtRoute(nameof(GetByIsbn), new { ISBN = livro.ISBN }, livro));
        }
Beispiel #6
0
        public IActionResult PostLivros([FromBody] Livro livro)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var extensao = livro.CapaPath.Split(".");

            livro.CapaPath = RandomStr(10) + "." + extensao[extensao.Length - 1];

            _livroRepository.Add(livro);

            return(CreatedAtAction("GetLivros", new { id = livro.Id }, livro));
        }
        public ValidationResultDTO Add(Livro livro)
        {
            // Regra de Negocio
            ValidationResultDTO validation = new ValidationResultDTO();

            // Reservado para criar regra negocio

            if (validation.Notifications.Count == 0)
            {
                validation.Id            = _repository.Add(livro);
                validation.AffectedLines = 1;
            }


            return(validation);
        }
Beispiel #8
0
        public void Salvar(Livro model)
        {
            var livro = _livroRepository.GetById(model.Id);

            if (livro != null)
            {
                livro.Atualizar(model.Titulo, model.Autor, model.DataPublicacao);
                _livroRepository.Update(livro);
            }
            else
            {
                _livroRepository.Add(model);
            }

            _unitOfWork.Commit();
        }
Beispiel #9
0
        public async Task <IActionResult> Post([FromBody] LivroDto dto)
        {
            var validation = _validator.Validate(dto);

            if (!validation.IsValid)
            {
                throw new ArgumentException(string.Join(", ", validation.Errors));
            }

            var entity = dto.ToEntity();

            entity.Id = Guid.NewGuid();

            var createad = await _livroRepository.Add(entity);

            return(Ok(createad));
        }
Beispiel #10
0
        public int Add(Domain.Entities.Personal.Livro livro)
        {
            try
            {
                if (livro == null)
                {
                    throw new ArgumentException("Livro invalido");
                }

                var livroId = _repo.Add(livro);
                return(livroId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public Task Handle(NovoLivroCommand command, CancellationToken cancellationToken)
        {
            if (!command.IsValid())
            {
                NotifyValidationErrors(command);
                return(Task.CompletedTask);
            }

            var livro = new Livro(command.Titulo,
                                  command.Descricao,
                                  command.Autor,
                                  command.Editora,
                                  command.NumeroEdicao,
                                  command.AnoEdicao,
                                  command.ISBN);

            _livroRepository.Add(livro);

            Commit();
            return(Task.CompletedTask);
        }
 public IActionResult Salvar(Livro livro)
 {
     Repository.Add(livro);
     return(RedirectToAction("Index", "Biblioteca"));
 }
Beispiel #13
0
 public void AddLivro(params Livro[] livros)
 {
     /* Validation and error handling omitted */
     _livroRepository.Add(livros);
 }
Beispiel #14
0
 public void Add(Livro livro)
 {
     _context.Add(livro);
 }
Beispiel #15
0
 public Livro Add(Livro objeto)
 {
     return(_livroRepository.Add(objeto));
 }
        public void Cadastrar(string nome, string isbn, decimal preco, List <string> autores)
        {
            LivroEntity livro = new LivroEntity(nome, isbn, preco, autores);

            _livroRepository.Add(livro);
        }