/// <summary> /// Obter registro pelo id /// </summary> /// <param name="id">Id do registro</param> public CategoriaDto ObterPorId(Guid id) { Categoria result = _dmn.ObterPorId(id); if (result == null) { return(null); } return(ConverterEntidadeEmDto(result)); }
/// <summary> /// Inserir registro na base /// </summary> /// <param name="dto">Objeto de transporte de dados de item</param> /// <param name="statusCode">Variável de saída de StatusCode</param> /// <param name="mensagem">Objeto de saída de dados (mensagem)</param> public void Inserir(ItemDto dto, out int statusCode, out string mensagem) { StringBuilder criticas = new StringBuilder(); // Verificando TipoItem TipoItem tipoItem = _tipoItemDomain.ObterPorDescricao(dto.TipoItem.Descricao); if (tipoItem == null) { criticas.Append("Tipo de Item inválido|"); } // Verificando Categoria Categoria categoria = _categoriaDomain.ObterPorId(dto.Categoria.Id); if (categoria == null) { criticas.Append("Categoria inválida|"); } // Verificando faixa de valor if (dto.ValorFaixa != null) { ValorFaixa faixa = _faixaDomain.ObterPorId(dto.ValorFaixa.Id); if (faixa == null) { criticas.Append("Faixa de valor inválida|"); } } // Verificando Campanha if (dto.Campanha != null) { Campanha campanha = _campanhaDomain.ObterPorId(dto.Campanha.Id); if (campanha == null) { criticas.Append("Campanha inválida|"); } else if (campanha.DataFinal < DateTime.Now) { criticas.Append("Campanha expirada|"); } } if (criticas.Length > 0) { mensagem = criticas.ToString().Substring(0, (criticas.Length - 1)).Replace("|", "\r\n"); statusCode = StatusCodes.Status400BadRequest; } else { Item entidade = new Item() { Titulo = dto.Titulo, Descricao = dto.Descricao, TipoItemId = tipoItem.Id, CategoriaId = categoria.Id, UsuarioId = _usuario.Id, Anonimo = dto.Anonimo }; if (dto.ValorFaixa != null) { entidade.ValorFaixaId = dto.ValorFaixa.Id; } if (dto.Campanha != null) { entidade.CampanhaId = dto.Campanha.Id; } if (!entidade.EstaValido()) { mensagem = entidade.ValidationResult.ToString(); statusCode = StatusCodes.Status400BadRequest; } else { _dmn.Adicionar(entidade); _uow.Efetivar(); mensagem = entidade.Id.ToString(); dto.Id = entidade.Id; statusCode = StatusCodes.Status200OK; } } }