public async Task <Response> Handle(AdicionarNota request, CancellationToken cancellationToken) { if (request == null) { return(new Response(false, "Informe os dados da nota", null)); } Usuario usuario = await _repositorioUsuario.CarregarObjetoPeloID(request.UsuarioId); Ticket ticket = await _repositorioTicket.CarregarObjetoPeloID(request.TicketId); AddNotifications(new Contract() .Requires() .IsNotNull(usuario, "Usuário", "Usuário não encontrado") .IsNotNull(ticket, "Ticket", "Ticket não encontrado") ); if (Invalid) { return(new Response(false, "Verifique os erros e tente novamente.", Notifications)); } Nota nota = new Nota(request.Titulo, request.Descricao, ticket, usuario); if (nota.Invalid) { return(new Response(false, "Verifique os erros e tente novamente", nota.Notifications)); } //_repositorioTicket.Editar(ticket); _repositorioNota.Adicionar(nota); var result = new Response(true, "Nota adicionada com sucesso!", null); return(await Task.FromResult(result)); }
public async Task <Response> Handle(AdicionarAnexo request, CancellationToken cancellationToken) { if (request == null) { return(new Response(false, "Informe os dados do anexo", request)); } Ticket ticket = await _repositorioTicket.CarregarObjetoPeloID(request.TicketId); if (ticket == null) { return(new Response(false, "Ticket não encontrado", null)); } Anexo anexo = new Anexo(request.Descricao, request.URL, ticket); //ticket.AdicionarAnexo(anexo); if (anexo.Invalid) { return(new Response(false, "Anexo inválido", ticket.Notifications)); } //_repositorioTicket.Editar(ticket); _repositorioAnexo.Adicionar(anexo); var result = new Response(true, "Anexo adicionado com sucesso!", null); return(await Task.FromResult(result)); }
public async Task <Response> Handle(EditarTicket request, CancellationToken cancellationToken) { if (request == null) { return(new Response(false, "Informe os dados do ticket que deseja alterar", request)); } Usuario usuario = await _repositorioUsuario.CarregarObjetoPeloID(request.UsuarioId); Categoria categoria = await _repositorioCategoria.CarregarObjetoPeloID(request.CategoriaId); Ticket ticket = await _repositorioTicket.CarregarObjetoPeloID(request.IdTicket); AddNotifications(new Contract() .Requires() .IsNotNull(usuario, "Usuario", "Usuário não foi encontrado") .IsNotNull(categoria, "Categoria", "Categoria não encontrada") .IsNotNull(ticket, "Ticket", "Ticket não encontrado") ); switch (request.Prioridade) { case 1: ticket.AlterarPrioridade(PrioridadeEnum.Baixo); break; case 2: ticket.AlterarPrioridade(PrioridadeEnum.Normal); break; case 3: ticket.AlterarPrioridade(PrioridadeEnum.Alto); break; case 4: ticket.AlterarPrioridade(PrioridadeEnum.Urgente); break; default: AddNotification("Prioridade", "Tipos de prioridades: 1=Baixo | 2=Normal | 3=Alto | 4=Urgente"); break; } switch (request.Status) { case 1: ticket.AlterarStatus(StatusEnum.Aberto); break; case 2: ticket.AlterarStatus(StatusEnum.EmAndamento); break; case 3: ticket.AlterarStatus(StatusEnum.Concluido); break; case 4: ticket.AlterarStatus(StatusEnum.Cancelado); break; default: AddNotification("Status", "Tipos de status: 1=Aberto | 2=Em andamento | 3=Concluído | 4=Cancelado"); break; } if (Invalid) { return(new Response(false, "Verifique os dados informados e tente novamente", Notifications)); } ticket.Editar(request.Titulo, request.Descricao, categoria); if (ticket.Invalid) { return(new Response(false, "Ticket inválido", ticket.Notifications)); } _repositorioTicket.Editar(ticket); Response result = new Response(true, "Ticket alterado com sucesso!", null); return(await Task.FromResult(result)); }