public AvaliacaoHelper(Entities.Avaliacao avaliacao) { Id = avaliacao.Id; Estrelas = avaliacao.Estrelas; Comentario = avaliacao.Comentario; DataCriacao = avaliacao.DataCriacao; Usuario = new UsuarioHelper(avaliacao.Usuario); }
public async Task <Response> Handle(AvaliarRestauranteRequest request, CancellationToken cancellationToken) { if (request == null) { AddNotification("Resquest", "Preencha as informações da avaliação"); return(new Response(this)); } var usuario = _repositoryUsuario.ObterPorId(request.FkUsuario.Value); var empresa = _repositoryEmpresa.ObterPorId(request.FkEmpresa.Value); Entities.Avaliacao avaliacao = new Entities.Avaliacao(request.Estrelas, request.Comentario, empresa, usuario); if (IsInvalid()) { return(new Response(this)); } avaliacao = _repositoryAvaliacao.Adicionar(avaliacao); empresa.AdicionarAvaliacao(avaliacao); _repositoryEmpresa.Editar(empresa); usuario.AdicionarAvaliacao(avaliacao); _repositoryUsuario.Editar(usuario); try { _unitOfWork.SaveChanges(); } catch (Exception ex) { this.AddNotification("Avaliar Empresa", "Erro ao persistir dados: " + ex.Message); } var result = new { Id = avaliacao.Id, Estrelas = avaliacao.Estrelas, Comentario = avaliacao.Comentario, Usuario = new { Id = avaliacao.Usuario.Id, Nome = avaliacao.Usuario.Nome, Foto = avaliacao.Usuario.Foto } }; var response = new Response(this, result); return(await Task.FromResult(response)); }
/// <summary> /// Maps an entity to a model. /// </summary> /// <param name="entity">The entity.</param> /// <returns></returns> public static Models.Avaliacao ToModel(this Entities.Avaliacao entity) { return(Mapper.Map <Models.Avaliacao>(entity)); }