コード例 #1
0
        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));
        }
コード例 #2
0
        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)));
        }