public ICommandResult Handle(ListarSistemasInspecaoCommand command) { //Fail Fast Validation command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, _msgError, command.Notifications)); } var response = new List <SistemasRondaResponse>(); var usuario = _usuario_repository.ObterPorIdFirebase(command.IdFirebase); var sistemas = _sistema_repository.ObterSistemasPorEstabelecimento(usuario.Estabelecimento.Id).Where(x => x.Ativo == true); foreach (var sistema in sistemas) { var itens_inspecao = _inspecao_item_repository.ObterItensInspecao(command.IdInspecao, sistema.Id); var resp = new SistemasRondaResponse(); resp.IdSistema = sistema.Id; resp.Nome = sistema.Nome; resp.Descricao = sistema.Descricao; resp.Status = "Concluída"; resp.InspecaoConcluida = true; if (itens_inspecao.Count > 0) { foreach (var sistemaItem in sistema.SistemaItens) { if (!itens_inspecao.Select(x => x.SistemaItem).Contains(sistemaItem) && sistemaItem.Ativo == true) { resp.Status = "Em andamento"; resp.InspecaoConcluida = false; } } } else { resp.Status = "Não iniciada"; resp.InspecaoConcluida = false; } response.Add(resp); } //Retorna o resultado return(new GenericCommandResult(true, "Lista de Sistema da Inspeção encontrada com Sucesso!", response)); }
public ICommandResult Handle(ListarSistemaCommand command) { //Fail Fast Validation command.Validate(); if (command.Invalid) { return(new GenericCommandResult(false, _msgError, command.Notifications)); } var usuario = _usuario_repository.ObterPorIdFirebase(command.IdFirebase); var sistemas = _sistema_repository.ObterSistemasPorEstabelecimento(usuario.Estabelecimento.Id); //Retorna o resultado return(new GenericCommandResult(true, "Relação de Sistema encontrada com Sucesso!", _mapper.Map <List <SistemaResponse> >(sistemas))); }