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); } }
private void ValidarEstoque(ItemMagicoEntidade item) { if (item.Estoque < 0) { throw new ItemMagicoException("O estoque do item não pode ser menor que 0."); } }
private void ValidarPreco(ItemMagicoEntidade item) { if (item.Preco < 0) { throw new ItemMagicoException("O preco do item não pode ser menor que 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); }
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."); } } }
private void ValidarItemMagico(ItemMagicoEntidade item) { ValidarEstoque(item); ValidarNomeDuplicado(item); }