private void AddDetalhe(GISADataset.NivelRow nRow, string nCod) { if (detalhes[nRow.ID] == null) { ArrayList aux = new ArrayList(); GISADataset.SFRDDatasProducaoRow sfrddprow = null; string ia = null; string im = null; string id = null; string fa = null; string fm = null; string fd = null; if (nRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows().Length > 0) { sfrddprow = (GISADataset.SFRDDatasProducaoRow)(nRow.GetFRDBaseRows()[0].GetSFRDDatasProducaoRows()[0]); if (sfrddprow.IsInicioAnoNull()) { ia = ""; } else { ia = sfrddprow.InicioAno; } if (sfrddprow.IsInicioMesNull()) { im = ""; } else { im = sfrddprow.InicioMes; } if (sfrddprow.IsInicioDiaNull()) { id = ""; } else { id = sfrddprow.InicioDia; } if (sfrddprow.IsFimAnoNull()) { fa = ""; } else { fa = sfrddprow.FimAno; } if (sfrddprow.IsFimMesNull()) { fm = ""; } else { fm = sfrddprow.FimMes; } if (sfrddprow.IsFimDiaNull()) { fd = ""; } else { fd = sfrddprow.FimDia; } } else { ia = ""; im = ""; id = ""; fa = ""; fm = ""; fd = ""; } GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { if (nRow.IDTipoNivel == 3) { aux.Add(nRow.GetNivelDesignadoRows()[0].Designacao); } else { DBAbstractDataLayer.DataAccessRules.NivelRule.Current.FillNivelControloAutRows(GisaDataSetHelper.GetInstance(), nRow.ID, ho.Connection); if (nRow.GetNivelControloAutRows().Length > 0) { aux.Add(nRow.GetNivelControloAutRows()[0].ControloAutRow.GetControloAutDicionarioRows()[0].DicionarioRow.Termo); } else if (nRow.GetNivelDesignadoRows().Length > 0) { aux.Add(nRow.GetNivelDesignadoRows()[0].Designacao); } } aux.Add(nRow.GetRelacaoHierarquicaRowsByNivelRelacaoHierarquica()[0].TipoNivelRelacionadoRow.ID); aux.Add(ia); aux.Add(im); aux.Add(id); aux.Add(fa); aux.Add(fm); aux.Add(fd); aux.Add(nCod); aux.Add("1"); // Se aparece aqui é porque temos permissao... if (MovimentoRule.Current.estaRequisitado(nRow.ID, ho.Connection)) { aux.Add(true); } else { aux.Add(false); } } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } detalhes.Add(nRow.ID, aux); } }
private static string GetDesignacaoInDataSet(GISADataset.NivelRow Nivel) { bool nivelOrganico = isNivelOrganico(Nivel); GisaDataSetHelper.HoldOpen ho = null; if (! nivelOrganico) { if (Nivel.GetNivelDesignadoRows().Length == 0) { ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { NivelRule.Current.FillNivelDesignado(GisaDataSetHelper.GetInstance(), Nivel.ID, ho.Connection); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } } Debug.Assert(Nivel.GetNivelDesignadoRows().Length > 0); return Nivel.GetNivelDesignadoRows()[0].Designacao; } if (nivelOrganico) { if (Nivel.GetNivelControloAutRows().Length == 0 || Nivel.GetNivelControloAutRows()[0].ControloAutRow.GetControloAutDicionarioRows().Length == 0) { ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { NivelRule.Current.FillNivelControloAutRows(GisaDataSetHelper.GetInstance(), Nivel.ID, ho.Connection); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { ho.Dispose(); } } Debug.Assert(Nivel.GetNivelControloAutRows().Length > 0); Debug.Assert(Nivel.GetNivelControloAutRows()[0].ControloAutRow.GetControloAutDicionarioRows().Length > 0); foreach (GISADataset.ControloAutDicionarioRow cad in Nivel.GetNivelControloAutRows()[0].ControloAutRow.GetControloAutDicionarioRows()) { if (cad.IDTipoControloAutForma == (long)TipoControloAutForma.FormaAutorizada) { return cad.DicionarioRow.Termo; } } } #if (DEBUG) Debug.WriteLine("Nivel ID=", Nivel.ID.ToString()); Debug.WriteLine("Nivel IDTipoNivel=", Nivel.IDTipoNivel.ToString()); throw new ArgumentException("details not found in Nivel.Table.DataSet", "Nivel"); #else { Console.WriteLine("details not found in Nivel.Table.DataSet / Tipo=" + Nivel.IDTipoNivel.ToString()); return ""; } #endif }