Ejemplo n.º 1
0
            public static int Incluir(T1 registro)
            {
                int  id    = 0;
                bool valid = true;

                if (registro is Validatable)
                {
                    valid = ((Validatable)registro).Validar();
                }

                if (valid)
                {
                    valid = ValidarInclusao(registro);
                }

                if (valid)
                {
                    try
                    {
                        var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                        id = lista.Insert(registro);
                    }
                    catch (Exception ex)
                    {
                        Mensagem.ShowErro("Erro ao incluir registro em " + ClassName() + "!", ex);
                    }
                }

                return(id);
            }
Ejemplo n.º 2
0
            public static bool Alterar(T1 registro)
            {
                bool ret = false;

                if (registro is Validatable)
                {
                    ret = ((Validatable)registro).Validar();
                }

                if (ret)
                {
                    ret = ValidarAlteracao(registro);
                }

                if (ret)
                {
                    try
                    {
                        var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                        ret = lista.Update(registro);
                    }
                    catch (Exception ex)
                    {
                        Mensagem.ShowErro("Erro ao alterar registro de " + ClassName() + "!", ex);
                    }
                }

                return(ret);
            }
Ejemplo n.º 3
0
        private void Exportar(string arquivo)
        {
            bool ret = false;

            Cursor.Current = Cursors.WaitCursor;

            try
            {
                Microsoft.Office.Interop.Excel.Application xlApp;
                Microsoft.Office.Interop.Excel.Workbook    xlWorkBook;
                Microsoft.Office.Interop.Excel.Worksheet   xlWorkSheet;

                object misValue = System.Reflection.Missing.Value;

                xlApp      = new Microsoft.Office.Interop.Excel.Application();
                xlWorkBook = xlApp.Workbooks.Add(misValue);

                xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

                xlWorkSheet.Name = "Avaliações";

                int row = ExcelDefCabecalho(xlWorkSheet);

                row = ExcelGravaDados(xlWorkSheet, row);

                xlWorkSheet.Range[xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[row, 20]].EntireColumn.AutoFit();

                xlWorkSheet.Range[xlWorkSheet.Cells[1, 10], xlWorkSheet.Cells[1, 19]].Columns.ColumnWidth = 6;
                xlWorkSheet.Cells[1, 20].Columns.ColumnWidth = 50;

                xlApp.DisplayAlerts = false;

                xlWorkBook.SaveAs(arquivo, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue,
                                  Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

                xlWorkBook.Close(true, misValue, misValue);

                xlApp.Quit();

                liberarObjetos(xlWorkSheet);
                liberarObjetos(xlWorkBook);
                liberarObjetos(xlApp);

                ret = Mensagem.ShowPerguntaSimNao(this, "O arquivo Excel foi criado com sucesso com o nome [" + arquivo + "]!\r\nDeseja abri-lo agora?") == DialogResult.Yes;
            }
            catch (Exception ex)
            {
                Mensagem.ShowErro("Erro ao cirar o arquivo Excel!", ex);
            }

            Cursor.Current = Cursors.Default;

            if (ret)
            {
                System.Diagnostics.Process.Start(arquivo);
            }
        }
Ejemplo n.º 4
0
            public static int AutoIncluir(T1 registro)
            {
                int  id    = 0;
                bool valid = true;

                id = ((IdentityColumn)registro).Id;

                if (registro is Validatable)
                {
                    valid = ((Validatable)registro).Validar();
                }

                if (valid)
                {
                    try
                    {
                        var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                        if (id > 0)
                        {
                            valid = ValidarAlteracao(registro);

                            if (valid)
                            {
                                id = lista.Update(registro) ? id : 0;
                            }
                        }

                        if (id == 0)
                        {
                            valid = ValidarInclusao(registro);

                            if (valid)
                            {
                                id = lista.Insert(registro);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Mensagem.ShowErro("Erro ao alterar / incluir registro em " + ClassName() + "!", ex);
                    }
                }

                if (!valid)
                {
                    id = 0;
                }

                return(id);
            }
Ejemplo n.º 5
0
            public static T1 Ler(int id)
            {
                T1 ret = default(T1);

                try
                {
                    var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                    ret = lista.FindById(id);
                }
                catch (Exception ex)
                {
                    Mensagem.ShowErro("Erro ao ler registro de " + ClassName() + "!", ex);
                }

                return(ret);
            }
Ejemplo n.º 6
0
            public static bool CriarIndice(Expression <Func <T1, bool> > property, bool unique)
            {
                bool ret = false;

                try
                {
                    var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                    ret = lista.EnsureIndex(property, unique);
                }
                catch (Exception ex)
                {
                    Mensagem.ShowErro("Erro ao criar índice em " + ClassName() + "!", ex);
                }

                return(ret);
            }
Ejemplo n.º 7
0
        private void liberarObjetos(object obj)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                obj = null;
            }
            catch (Exception ex)
            {
                obj = null;

                Mensagem.ShowErro("Ocorreu um erro durante a liberação de objetos!", ex);
            }
            finally
            {
                GC.Collect();
            }
        }
Ejemplo n.º 8
0
            public static List <T1> Pesquisar(Expression <Func <T1, bool> > predicate)
            {
                List <T1> ret = null;

                try
                {
                    var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                    var results = lista.Find(predicate);

                    ret = results.ToList <T1>();
                }
                catch (Exception ex)
                {
                    Mensagem.ShowErro("Erro ao pesquisar todos os registros de " + ClassName() + "!", ex);
                }

                return(ret);
            }
Ejemplo n.º 9
0
        public static bool Open(String NomeArquivo)
        {
            bool ret = false;

            try
            {
                if (db == null)
                {
                    db = new LiteDatabase(NomeArquivo);
                }

                ret = true;
            }
            catch (Exception ex)
            {
                Mensagem.ShowErro("Erro ao abrir a base de dados!", ex);
            }

            return(ret);
        }
Ejemplo n.º 10
0
            public static List <T1> Pesquisar(int id)
            {
                List <T1> ret = null;

                try
                {
                    var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                    var result = lista.FindById(id);

                    ret = new List <T1>();

                    ret.Add(result);
                }
                catch (Exception ex)
                {
                    Mensagem.ShowErro("Erro ao pesquisar registros de " + ClassName() + " por ID!", ex);
                }

                return(ret);
            }
Ejemplo n.º 11
0
        private bool AtribuirQuestao(bool incluir)
        {
            bool ret = false;

            try
            {
                if (incluir)
                {
                    questao = new Questao();
                }

                questao.Enunciado               = rchEnunciado.Text.Trim();
                questao.Ativo                   = chkAtivo.Checked;
                questao.TipoQuestao             = (TipoDeQuestao)GetIdItemCombo(cboTipoQuestao);
                questao.IdDisciplina            = GetIdItemCombo(cboDisciplina);
                questao.QtdLinhasEnunciado      = (int)numQtdLinhasEnunciado.Value;
                questao.QtdLinhasResposta       = (int)numQtdLinhasResposta.Value;
                questao.Complexidade            = (int)numComplexidade.Value;
                questao.TempoResposta           = (int)numTempoResposta.Value;
                questao.TempoMinimoReutilizacao = (int)numTempoMinReutilizacao.Value;
                questao.SequenciaImpressao      = txtSequenciaImpressao.Text;

                if (picImagemQuestao.Image == null)
                {
                    questao.Imagem = null;
                }
                else
                {
                    questao.Imagem = Converter.ImageToByteArray(picImagemQuestao.Image);
                }

                ret = true;
            }
            catch (Exception ex)
            {
                Mensagem.ShowErro("Erro ao atribuir questão!", ex);
            }

            return(ret);
        }
Ejemplo n.º 12
0
            public static bool Excluir(T1 registro)
            {
                bool ret = true;

                if (ret)
                {
                    ret = ValidarExclusao(registro);
                }

                if (ret)
                {
                    try
                    {
                        DBControl.BeginTrans();

                        if (registro is HasAutoRemove)
                        {
                            List <ReferenceExpression> listAR = ((HasAutoRemove)registro).GetAutoRemoveCollection();

                            foreach (ReferenceExpression ar in listAR)
                            {
                                Type clazz = ar.Clazz;

                                Type  customListType = typeof(List <>).MakeGenericType(clazz);
                                IList list           = (IList)Activator.CreateInstance(customListType);

                                if (ar.Id != 0)
                                {
                                    list = Pesquisar(ar.Id);
                                }
                                else
                                {
                                    list = InvokePesquisar(clazz, ar.Expression);
                                }

                                if (list != null && list.Count > 0)
                                {
                                    foreach (var item in list)
                                    {
                                        Type clazzMI = typeof(DBControl.Table <>).MakeGenericType(clazz);

                                        var parameterTypes = new object[] { typeof(int) };

                                        MethodInfo mi = clazzMI.GetMethods().FirstOrDefault(m => m.Name == "Excluir" && m.GetParameters().Select(p => p.ParameterType).SequenceEqual(parameterTypes));

                                        object[] parameters = new object[] { ((IdentityColumn)item).Id };

                                        ret = (bool)mi.Invoke(null, parameters);

                                        if (!ret)
                                        {
                                            break;
                                        }
                                    }
                                }
                            }
                        }

                        if (ret)
                        {
                            var lista = BaseDados.DataBase.GetCollection <T1>(CollectionName());

                            ret = lista.Delete(((IdentityColumn)registro).Id);
                        }

                        if (ret)
                        {
                            DBControl.Commit();
                        }
                        else
                        {
                            DBControl.Rollback();
                        }
                    }
                    catch (Exception ex)
                    {
                        ret = false;
                        DBControl.Rollback();

                        Mensagem.ShowErro("Erro ao excluir registro de " + ClassName() + "!", ex);
                    }
                }

                return(ret);
            }
Ejemplo n.º 13
0
        private bool GravarAvaliacao()
        {
            bool ret = false;

            DBControl.BeginTrans();

            try
            {
                avaliacao = new Avaliacao();

                string codigo = GetCodigoAvaliacao();

                string strSeq = "";

                List <Avaliacao> avaliacoes = DBControl.Table <Avaliacao> .Pesquisar(x => x.Codigo.StartsWith(codigo));

                if (avaliacoes != null && avaliacoes.Count > 0)
                {
                    strSeq = avaliacoes[avaliacoes.Count - 1].Codigo.Substring(codigo.Length);
                }

                int seq = 1;

                if (!strSeq.Equals(""))
                {
                    seq = int.Parse(strSeq);
                    seq++;
                }

                codigo = codigo + seq.ToString("000");

                StringBuilder sb = new StringBuilder();

                sb.Append("Avaliação ");
                sb.Append(tipoAvaliacao);
                sb.Append(" ");
                sb.Append(disciplina.Nome);
                sb.Append(" sequência ");
                sb.Append(seq.ToString("000"));

                avaliacao.Codigo       = codigo;
                avaliacao.Descricao    = sb.ToString();
                avaliacao.DtGeracao    = dtGeracao;
                avaliacao.IdDisciplina = parametersGA.IdDisciplina;
                avaliacao.QtdQuestoes  = parametersGA.QtdQuestoes;

                int idAvaliacao = DBControl.Table <Avaliacao> .Incluir(avaliacao);

                ret = idAvaliacao > 0;

                if (ret)
                {
                    AvaliacaoQuestao aq;
                    int id;

                    foreach (int idQuestao in questoes)
                    {
                        aq = new AvaliacaoQuestao();

                        aq.IdAvaliacao = idAvaliacao;
                        aq.DtGeracao   = dtGeracao;
                        aq.IdQuestao   = idQuestao;

                        id = DBControl.Table <AvaliacaoQuestao> .Incluir(aq);

                        ret = id > 0;

                        if (!ret)
                        {
                            break;
                        }
                    }
                }

                if (ret)
                {
                    DBControl.Commit();
                }
                else
                {
                    DBControl.Rollback();
                }
            }
            catch (Exception ex)
            {
                Mensagem.ShowErro("Erro na inclusão da Avaliação!", ex);
                DBControl.Rollback();
            }

            return(ret);
        }