コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: Nivel.cs プロジェクト: huguitosilva1/gisa
		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
		}