示例#1
0
        public void Salvar(ItemMagicoEntidade item)
        {
            ValidarItemMagico(item);

            if (item.Id > 0)
            {
                ItemMagicoEntidade itemSalvo = this.itemMagicoRepositorio.BuscarPorId(item.Id);

                if (itemSalvo == null)
                {
                    throw new ItemMagicoException("O item a ser atualizado não existe.");
                }

                itemSalvo.DataUltimaAtualizacao = DateTime.Now;
                itemSalvo.Nome      = item.Nome;
                itemSalvo.Raro      = item.Raro;
                itemSalvo.Descricao = item.Descricao;
                itemSalvo.Preco     = item.Preco;
                itemSalvo.Estoque   = item.Estoque;
                this.itemMagicoRepositorio.Atualizar(itemSalvo);
            }
            else
            {
                item.DataCriacao = item.DataUltimaAtualizacao = DateTime.Now;
                this.itemMagicoRepositorio.Criar(item);
            }
        }
示例#2
0
 private void ValidarEstoque(ItemMagicoEntidade item)
 {
     if (item.Estoque < 0)
     {
         throw new ItemMagicoException("O estoque do item não pode ser menor que 0.");
     }
 }
示例#3
0
 private void ValidarPreco(ItemMagicoEntidade item)
 {
     if (item.Preco < 0)
     {
         throw new ItemMagicoException("O preco do item não pode ser menor que 0.");
     }
 }
示例#4
0
        public void Excluir(int id)
        {
            ItemMagicoEntidade item = this.BuscarPorId(id);

            if (item == null)
            {
                throw new ItemMagicoException("Item não encontrado.");
            }

            this.itemMagicoRepositorio.Excluir(item);
        }
示例#5
0
        private void ValidarNomeDuplicado(ItemMagicoEntidade item)
        {
            IList <ItemMagicoEntidade> itensSalvos = this.itemMagicoRepositorio
                                                     .BuscarPorNome(item.Nome);

            if (itensSalvos != null)
            {
                bool existeItemComMesmoNome = itensSalvos.Any(
                    i => i.Nome.Equals(item.Nome) && i.Id != item.Id);

                if (existeItemComMesmoNome)
                {
                    throw new ItemMagicoException("Já existe um item com este nome.");
                }
            }
        }
示例#6
0
 private void ValidarItemMagico(ItemMagicoEntidade item)
 {
     ValidarEstoque(item);
     ValidarNomeDuplicado(item);
 }