private int[] GetCodPresenca(int[] Cod_Usuarios, DateTime Data, int Cod_Comum) { List <int> result = new List <int>(); Context cx = new Context(); try{ cx.BeginTransaction(); List <Presenca> presencas = Presenca.ListInCod_Usuario(Cod_Usuarios, Data, cx); List <FaltaJustificada> faltas = FaltaJustificada.ListInCod_Usuario(Cod_Usuarios, Data, cx); foreach (var Cod_Usuario in Cod_Usuarios) { if (Cod_Usuario != 0) { UsuarioComum usuario = UsuarioComum.Find(Cod_Usuario, Cod_Comum, cx); Presenca presenca = presencas.FirstOrDefault(e => e.Cod_Usuario == Cod_Usuario); if (presenca == null && usuario != null) { presenca = new Presenca(); presenca.Cod_Usuario = usuario.Cod_Usuario; presenca.Data = Data; presenca.Instrutor = UserSession.Get(Request.HttpContext).Cod_Usuario(); presenca.Save(cx); result.Add(presenca.Cod_Presenca); } FaltaJustificada falta = faltas.FirstOrDefault(e => e.Cod_Usuario == Cod_Usuario); if (falta != null) { FaltaJustificada.Delete(falta.Cod_Justificativa, cx); string nome = Usuario.Find(Cod_Usuario).Nome; Monitor.Add <FaltaJustificada>(HttpContext, 'D', GEM.Helpers.Util.ShortName(nome) + " data: " + Data.ToString("dd/MM/yyyy")); } } } cx.Commit(); AddSessaoPresenca(result.ToArray()); return(result.ToArray()); }catch { cx.Rollback(); } return(new int[] { }); }