public void CriarAnalise(AnaliseItem analise) { try { List <Roteiro> roteirosChecagem = _busChecagem.ObterRoteirosChecagem(analise.Checagem.Id); analise.Roteiros = roteirosChecagem; List <Situacao> situacoes = _busLista.SituacoesItemAnalise; int setorId = _daProtocolo.ObterSetor(analise.Protocolo.Id ?? 0); foreach (Roteiro roteiroAtual in roteirosChecagem) { foreach (Item itemAtual in roteiroAtual.Itens) { switch ((eChecagemItemSituacao)itemAtual.Situacao) { case eChecagemItemSituacao.Pendente: itemAtual.Situacao = (int)eAnaliseItemSituacao.Pendente; break; case eChecagemItemSituacao.Conferido: itemAtual.Situacao = (int)eAnaliseItemSituacao.Recebido; break; case eChecagemItemSituacao.Dispensado: itemAtual.Situacao = (int)eAnaliseItemSituacao.Dispensado; break; } if (itemAtual.Situacao != (int)eAnaliseItemSituacao.Reprovado && itemAtual.Situacao != (int)eAnaliseItemSituacao.Dispensado) { itemAtual.Motivo = String.Empty; } itemAtual.SetorId = setorId; itemAtual.Recebido = itemAtual.Situacao == (int)eAnaliseItemSituacao.Recebido; itemAtual.SituacaoTexto = situacoes.SingleOrDefault(x => x.Id == itemAtual.Situacao).Texto; analise.Itens.Add(itemAtual); } } using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { GerenciadorTransacao.ObterIDAtual(); bancoDeDados.IniciarTransacao(); _da.Salvar(analise, bancoDeDados); bancoDeDados.Commit(); } } catch (Exception exc) { Validacao.AddErro(exc); } }
internal int ObterSetor(int?protocolo) { return(_da.ObterSetor(protocolo ?? 0)); }