예제 #1
0
		public void storeDimensoes(ref GISADataset.SFRDUFDescricaoFisicaRow descFisicaRow, bool showWarnings)
		{
			bool valoresInvalidos = false;

			try
			{
				if (MathHelper.IsDecimal(MedidaLargura))
				{
					if (descFisicaRow.IsMedidaLarguraNull() || descFisicaRow.MedidaLargura != System.Convert.ToDecimal(MedidaLargura))
					{

						descFisicaRow.MedidaLargura = System.Convert.ToDecimal(MedidaLargura);
					}
				}
				else
				{
					throw new Exception("invalid decimal");
				}
			}
			catch (Exception)
			{
				if (! descFisicaRow.IsMedidaLarguraNull())
				{
					descFisicaRow["MedidaLargura"] = DBNull.Value;
					if (MedidaLargura.Length > 0)
					{
						valoresInvalidos = true;
					}
				}
			}

			try
			{
				if (MathHelper.IsDecimal(MedidaAltura))
				{
					if (descFisicaRow.IsMedidaAlturaNull() || descFisicaRow.MedidaAltura != System.Convert.ToDecimal(MedidaAltura))
					{
						descFisicaRow.MedidaAltura = System.Convert.ToDecimal(MedidaAltura);
					}
				}
				else
				{
					throw new Exception("invalid decimal");
				}
			}
			catch (Exception)
			{
				if (! descFisicaRow.IsMedidaAlturaNull())
				{
					descFisicaRow["MedidaAltura"] = DBNull.Value;
					if (MedidaAltura.Length != 0)
					{
						valoresInvalidos = true;
					}
				}
			}

			try
			{
				if (MathHelper.IsDecimal(MedidaProfundidade))
				{
					if (descFisicaRow.IsMedidaProfundidadeNull() || descFisicaRow.MedidaProfundidade != System.Convert.ToDecimal(MedidaProfundidade))
					{
						descFisicaRow.MedidaProfundidade = System.Convert.ToDecimal(MedidaProfundidade);
					}
				}
				else
				{
					throw new Exception("invalid decimal");
				}
			}
			catch (Exception)
			{
				if (! descFisicaRow.IsMedidaProfundidadeNull())
				{
					descFisicaRow["MedidaProfundidade"] = DBNull.Value;
					if (MedidaProfundidade.Length > 0)
					{
						valoresInvalidos = true;
					}
				}
			}

			if (descFisicaRow["MedidaLargura"] == DBNull.Value && descFisicaRow["MedidaAltura"] == DBNull.Value && descFisicaRow["MedidaProfundidade"] == DBNull.Value)
			{

				/*if (! descFisicaRow.IsIDTipoMedidaNull())
				{
					descFisicaRow["IDTipoMedida"] = DBNull.Value;
				}*/
			}
			else
			{
				try
				{
					if (descFisicaRow.IsIDTipoMedidaNull() || descFisicaRow.IDTipoMedida != TipoMedida.ID)
					{
						descFisicaRow.IDTipoMedida = TipoMedida.ID;
					}
				}
				catch (Exception)
				{
					if (! descFisicaRow.IsIDTipoMedidaNull())
					{
						descFisicaRow["IDTipoMedida"] = DBNull.Value;
					}
				}
			}

			if (valoresInvalidos && showWarnings)
			{
				MessageBox.Show("Foram especificados valores inválidos nas dimensões e/ou suporte.", "Dimensões", MessageBoxButtons.OK, MessageBoxIcon.Warning);
			}
		}
예제 #2
0
		public void populateDimensoes(GISADataset.SFRDUFDescricaoFisicaRow descFisicaRow)
		{
			if (descFisicaRow.IsMedidaLarguraNull())
			{
				MedidaLargura = "";
			}
			else
			{
				MedidaLargura = descFisicaRow.MedidaLargura.ToString("0.000"); // três casas decimais
			}
			if (descFisicaRow.IsMedidaAlturaNull())
			{
				MedidaAltura = "";
			}
			else
			{
				MedidaAltura = descFisicaRow.MedidaAltura.ToString("0.000");
			}
			if (descFisicaRow.IsMedidaProfundidadeNull())
			{
				MedidaProfundidade = "";
			}
			else
			{
				MedidaProfundidade = descFisicaRow.MedidaProfundidade.ToString("0.000");
			}
		}