Exemplo n.º 1
0
        public void InserirCertificacao(string codAvaliacao)
        {
            lock (certificacoes)
            {
                if (!certificacoes.ContainsKey(codAvaliacao))
                {
                    certificacoes.Add(codAvaliacao, new Avaliacao());
                    using (var e = new Models.Contexto())
                    {
                        int numIdentificador = 0;
                        int semestre         = 0;
                        int ano = 0;

                        if (codAvaliacao.Length == 13)
                        {
                            string codigo = codAvaliacao;
                            int.TryParse(codigo.Substring(codigo.Length - 4), out numIdentificador);
                            codigo = codigo.Remove(codigo.Length - 4);
                            int.TryParse(codigo.Substring(codigo.Length - 1), out semestre);
                            codigo = codigo.Remove(codigo.Length - 1);
                            int.TryParse(codigo.Substring(codigo.Length - 4), out ano);
                            codigo = codigo.Remove(codigo.Length - 4);
                            int codTipoAvaliacao = e.TipoAvaliacao.FirstOrDefault(t => t.Sigla == codigo).CodTipoAvaliacao;

                            Models.AvalCertificacao avalCertificacao = e.AvalCertificacao.FirstOrDefault(acad => acad.Ano == ano && acad.Semestre == semestre && acad.NumIdentificador == numIdentificador && acad.CodTipoAvaliacao == codTipoAvaliacao);

                            certificacoes[codAvaliacao].MapearQuestao(avalCertificacao.Avaliacao.Questao.Select(q => q.CodQuestao).ToList());
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        public void Prorrogar(string codAvaliacao, int duracao, string observacao)
        {
            if (duracao > 0)
            {
                var mapping = avaliacoes.SelecionarAcademica(codAvaliacao);
                using (var e = new Models.Contexto())
                {
                    int numIdentificador = 0;
                    int semestre         = 0;
                    int ano = 0;

                    if (codAvaliacao.Length == 13)
                    {
                        string codigo = codAvaliacao;
                        int.TryParse(codigo.Substring(codigo.Length - 4), out numIdentificador);
                        codigo = codigo.Remove(codigo.Length - 4);
                        int.TryParse(codigo.Substring(codigo.Length - 1), out semestre);
                        codigo = codigo.Remove(codigo.Length - 1);
                        int.TryParse(codigo.Substring(codigo.Length - 4), out ano);
                        codigo = codigo.Remove(codigo.Length - 4);
                        int codTipoAvaliacao = e.TipoAvaliacao.FirstOrDefault(t => t.Sigla == codigo).CodTipoAvaliacao;

                        Models.Avaliacao aval = e.Avaliacao.FirstOrDefault(acad => acad.Ano == ano && acad.Semestre == semestre && acad.NumIdentificador == numIdentificador && acad.CodTipoAvaliacao == codTipoAvaliacao);

                        var prorrogacao = new Models.AvaliacaoProrrogacao();
                        prorrogacao.DtProrrogacao   = DateTime.Now;
                        prorrogacao.Observacao      = String.IsNullOrWhiteSpace(observacao) ? null : observacao;
                        prorrogacao.DuracaoAnterior = aval.Duracao.Value;
                        prorrogacao.DuracaoNova     = prorrogacao.DuracaoAnterior + duracao;
                        aval.Duracao = prorrogacao.DuracaoNova;
                        aval.AvaliacaoProrrogacao.Add(prorrogacao);

                        e.SaveChanges();

                        Clients.Clients(mapping.ListarConnectionIdAvaliados()).prorrogar(duracao);
                    }
                }
            }
        }