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); }
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); }
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); } }
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); }
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); }
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); }
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(); } }
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); }
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); }
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); }
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); }
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); }
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); }