/// <summary> /// 获取极限点 /// </summary> /// <param name="measureManager"></param> /// <param name="curves">要计算的曲线</param> /// <param name="measureDirection">测量方向</param> /// <param name="secondDirection">第二方向,以防在第一个方向上出现多个极值点</param> /// <param name="thirdDirection">第三方向</param> /// <returns>极限点</returns> public static Point3d MeasureExtreme(this MeasureManager measureManager, IBaseCurve[] curves, Vector3d measureDirection, Vector3d secondDirection, Vector3d thirdDirection) { NXOpen.Unit unit1 = WorkPart.UnitCollection.FindObject("MilliMeter"); Point3d origin1 = new Point3d(0.0, 0.0, 0.0); Direction direction1 = WorkPart.Directions.CreateDirection(origin1, measureDirection, NXOpen.SmartObject.UpdateOption.WithinModeling); Direction direction2 = WorkPart.Directions.CreateDirection(origin1, secondDirection, NXOpen.SmartObject.UpdateOption.WithinModeling); Direction direction3 = WorkPart.Directions.CreateDirection(origin1, thirdDirection, NXOpen.SmartObject.UpdateOption.WithinModeling); ScCollector scCollector1; scCollector1 = WorkPart.ScCollectors.CreateCollector(); CurveDumbRule curveDumbRule1 = WorkPart.ScRuleFactory.CreateRuleBaseCurveDumb(curves); SelectionIntentRule[] rules1 = new SelectionIntentRule[1] { curveDumbRule1 }; scCollector1.ReplaceRules(rules1, false); MeasureRectangularExtreme extreme = WorkPart.MeasureManager.NewRectangularExtreme(unit1, direction1, direction2, direction3, scCollector1, false); Point3d extremePoint = extreme.Point; int nErrs1 = TheSession.UpdateManager.AddToDeleteList(direction1); scCollector1.Destroy(); return(extremePoint); }
private void BindDimensions() { var dimensions = MeasureManager.GetAllMeasureDimensions(); gvDimensions.DataSource = dimensions; gvDimensions.DataBind(); }
private void FillDropDowns() { this.ddlBaseWeight.Items.Clear(); MeasureWeightCollection measureWeightCollection = MeasureManager.GetAllMeasureWeights(); foreach (MeasureWeight measureWeight in measureWeightCollection) { ListItem ddlMeasureWeightItem2 = new ListItem(measureWeight.Name, measureWeight.MeasureWeightID.ToString()); this.ddlBaseWeight.Items.Add(ddlMeasureWeightItem2); } this.ddlBaseDimension.Items.Clear(); MeasureDimensionCollection measureDimensionCollection = MeasureManager.GetAllMeasureDimensions(); foreach (MeasureDimension measureDimension in measureDimensionCollection) { ListItem ddlMeasureDimensionItem2 = new ListItem(measureDimension.Name, measureDimension.MeasureDimensionID.ToString()); this.ddlBaseDimension.Items.Add(ddlMeasureDimensionItem2); } this.ddlDefaultStoreTimeZone.Items.Clear(); ReadOnlyCollection <TimeZoneInfo> timeZones = DateTimeHelper.GetSystemTimeZones(); foreach (TimeZoneInfo timeZone in timeZones) { string timeZoneName = timeZone.DisplayName; ListItem ddlDefaultStoreTimeZoneItem2 = new ListItem(timeZoneName, timeZone.Id); this.ddlDefaultStoreTimeZone.Items.Add(ddlDefaultStoreTimeZoneItem2); } CommonHelper.FillDropDownWithEnum(this.ddlCustomerNameFormat, typeof(CustomerNameFormatEnum)); }
/// <summary> /// 测量两个组件集之间的距离 /// </summary> /// <param name="measureManager"></param> /// <param name="components1">组件集1</param> /// <param name="components2">组件集2</param> /// <returns>距离值</returns> public static double MeasureDistance(this MeasureManager measureManager, Component[] components1, Component[] components2) { NXOpen.Unit lengthUnit = WorkPart.UnitCollection.FindObject("MilliMeter"); ComponentGroup group1 = WorkPart.ComponentGroups.CreateComponentGroup(System.DateTime.Now.ToLongTimeString() + "_1"); for (int i = 0; i < components1.Length; i++) { group1.AddComponent(components1[i], false); } ComponentGroup group2 = WorkPart.ComponentGroups.CreateComponentGroup(System.DateTime.Now.ToLongTimeString() + "_2"); for (int i = 0; i < components2.Length; i++) { group2.AddComponent(components2[i], false); } double distanceValue = measureManager.NewDistance(lengthUnit, group1, group2).Value; group1.Delete(); group2.Delete(); return(distanceValue); }
private void BindWeights() { var weights = MeasureManager.GetAllMeasureWeights(); gvWeights.DataSource = weights; gvWeights.DataBind(); }
private void Ufrm_DatumLine_Load(object sender, EventArgs e) { hWindow_Final1.HobjectToHimage(ho_Image); if (measureManager == null) { measureManager = form.measureManager; } #region 跟踪 List <MeasuringUnit> translations = measureManager.ListAllTranslation();//所有平移跟踪 verticalPositions = new List <MeasuringUnit>(); for (int i = translations.Count - 1; i >= 0; i--) { if ((translations[i] as TranslationTracking).line.AxByC0.k == null) { continue; } if ((translations[i] as TranslationTracking).line.AxByC0.k.D == 0) //?是水平线 { verticalPositions.Add(translations[i]); //添加垂直定位 cmb_VerticalTracking_L.Items.Add(translations[i].name); //添加垂直跟踪 cmb_VerticalTracking_R.Items.Add(translations[i].name); //添加垂直跟踪 } } #endregion //判断是否编辑模式进入 if (EditMode) { line = data as Line; nud_xStart.Value = (decimal)line.hv_Column1.D; nud_yStart.Value = (decimal)line.hv_Row1.D; nud_xEnd.Value = (decimal)line.hv_Column2.D; nud_yEnd.Value = (decimal)line.hv_Row2.D; if (line.position_Vertical_L != null) { cmb_VerticalTracking_L.SelectedItem = line.position_Vertical_L.name; } if (line.position_Vertical_R != null) { cmb_VerticalTracking_R.SelectedItem = line.position_Vertical_R.name; } txt_Name.Text = data.name; txt_Name.Enabled = false;//编辑模式下不能编辑名字 prepared = true; RunOnce(); } else { line = new Line(); data = line; data.name = txt_Name.Text; } }
public void SetExecutionUnit(MeasureManager measureManager) { this.measureManager = measureManager; measureManager.AddCompleted += MeasureManager_AddCompleted; //绑定测量单元管理器添加完成事件 measureManager.ModificationCompleted += MeasureManager_ModificationCompleted; //绑定测量单元管理器修改完成事件 UpdateDataGridView(); //更新文件控制表格显示 }
/// <summary> /// 使用 UFUN 测量点到给定对象间的最小距离 /// </summary> /// <param name="measureManager"></param> /// <param name="point">要测量的点</param> /// <param name="objectToMeasure">对象2</param> /// <returns></returns> public static (double Distance, Point3d PointOn2ndObject) MeasureDistance(this MeasureManager measureManager, Point3d point, Tag objectToMeasure) { double[] pt_on_obj1 = new double[3]; double[] pt_on_obj2 = new double[3]; TheUfSession.Modl.AskMinimumDist3(3, Tag.Null, objectToMeasure, 1, point.ToArray(), 0, new double[3], out double minimumDistance, pt_on_obj1, pt_on_obj2, out double accuracy); return(minimumDistance, pt_on_obj2.ToPoint3d()); }
/// <summary> /// 测量两个组件之间的距离 /// </summary> /// <param name="measureManager"></param> /// <param name="component1">组件1</param> /// <param name="component2">组件2</param> /// <returns>距离值</returns> public static double MeasureDistance(this MeasureManager measureManager, Component component1, Component component2) { NXOpen.Unit lengthUnit = WorkPart.UnitCollection.FindObject("MilliMeter"); double distanceValue = measureManager.NewDistance(lengthUnit, component1, component2).Value; return(distanceValue); }
/// <summary> /// 计算两个 Point3d 对象之间的数学距离 /// </summary> /// <param name="measureManager"></param> /// <param name="point1">第一个点坐标</param> /// <param name="point2">第二个点坐标</param> /// <returns></returns> public static double MeasureDistance(this MeasureManager measureManager, Point3d point1, Point3d point2) { double[] pnt1 = new double[] { point1.X, point1.Y, point1.Z }; double[] pnt2 = new double[] { point2.X, point2.Y, point2.Z }; double distance; TheUfSession.Vec3.Distance(pnt1, pnt2, out distance); return(distance); }
/// <summary> /// 测量面的属性 /// </summary> /// <param name="theMeasureManaer"></param> /// <param name="faces"></param> /// <param name="tolerance">测量公差,越接近1.0,结果越精确,但同时可能会花费较长时间</param> /// <returns></returns> public static MeasureFaces MeasureFace(this MeasureManager theMeasureManaer, Face[] faces, double tolerance = 0.999) { NXOpen.Unit areaUnit = WorkPart.UnitCollection.FindObject("SquareMilliMeter"); NXOpen.Unit lengthUnit = WorkPart.UnitCollection.FindObject("MilliMeter"); MeasureFaces measureFace = WorkPart.MeasureManager.NewFaceProperties(areaUnit, lengthUnit, tolerance, faces); return(measureFace); }
/// <summary> /// 测量点到对象之间的投影距离 /// </summary> /// <param name="measureManager"></param> /// <param name="point"></param> /// <param name="object">对象2</param> /// <param name="projectVector">投影矢量</param> /// <param name="type">测量类型</param> /// <returns>投影距离值</returns> public static double MeasureProjectDistance(this MeasureManager measureManager, Point3d point, DisplayableObject @object, Vector3d projectVector, MeasureManager.ProjectionType type) { var tempPt = WorkPart.Points.CreatePoint(point); double distance = measureManager.MeasureProjectDistance(tempPt, @object, projectVector, type); tempPt.Delete(); return(distance); }
/// <summary> /// 测量两个对象之间的投影距离 /// </summary> /// <param name="measureManager"></param> /// <param name="object1">对象1</param> /// <param name="object2">对象2</param> /// <param name="projectVector">投影矢量</param> /// <param name="type">测量类型</param> /// <returns>投影距离值</returns> public static double MeasureProjectDistance(this MeasureManager measureManager, DisplayableObject object1, DisplayableObject object2, Vector3d projectVector, MeasureManager.ProjectionType type) { NXOpen.Unit lengthUnit = WorkPart.UnitCollection.FindObject("MilliMeter"); Direction direction1 = WorkPart.Directions.CreateDirection(new Point3d(), projectVector, NXOpen.SmartObject.UpdateOption.WithinModeling); var projectDistance = measureManager.NewDistance(lengthUnit, object1, object2, direction1, type); return(projectDistance.Value); }
private List <Item> CreateItems(ShipmentPackage ShipmentPackage) { var result = new List <Item>(); var usedMeasureWeight = MeasureManager.GetMeasureWeightBySystemKeyword("kg"); if (usedMeasureWeight == null) { throw new NopException("CanadaPost shipping service. Could not load \"kg\" measure weight"); } var usedMeasureDimension = MeasureManager.GetMeasureDimensionBySystemKeyword("meters"); if (usedMeasureDimension == null) { throw new NopException("CanadaPost shipping service. Could not load \"meter(s)\" measure dimension"); } foreach (var sci in ShipmentPackage.Items) { var pv = sci.ProductVariant; var item = new Item(); item.Quantity = sci.Quantity; //Canada Post uses kg(s) decimal unitWeight = sci.TotalWeight / sci.Quantity; item.Weight = MeasureManager.ConvertWeight(unitWeight, MeasureManager.BaseWeightIn, usedMeasureWeight); item.Weight = Math.Round(item.Weight, 2); if (item.Weight == decimal.Zero) { item.Weight = 0.01M; } //Canada Post uses centimeters item.Length = Convert.ToInt32(Math.Ceiling(MeasureManager.ConvertDimension(pv.Length, MeasureManager.BaseDimensionIn, usedMeasureDimension) * 100)); if (item.Length == decimal.Zero) { item.Length = 1; } item.Width = Convert.ToInt32(Math.Ceiling(MeasureManager.ConvertDimension(pv.Width, MeasureManager.BaseDimensionIn, usedMeasureDimension) * 100)); if (item.Width == decimal.Zero) { item.Width = 1; } item.Height = Convert.ToInt32(Math.Ceiling(MeasureManager.ConvertDimension(pv.Height, MeasureManager.BaseDimensionIn, usedMeasureDimension) * 100)); if (item.Height == decimal.Zero) { item.Height = 1; } result.Add(item); } return(result); }
//计量单位新增 public ActionResult AddMeasure(Measure mes) { Random random = new Random(); int n = random.Next(100000, 1000000); mes.IsDelete = 0; mes.CreateTime = DateTime.Now; mes.MeasureNum = n.ToString(); return(Json(MeasureManager.AddMeasure(mes), JsonRequestBehavior.AllowGet)); }
/// <summary> /// 初始化 /// </summary> private void Initialize(Control parent, MeasureManager measureManager) { TopLevel = false; //设为非顶级窗体 Parent = parent; //设置控件的父容器 Dock = DockStyle.Fill; //停靠模式填充 this.measureManager = measureManager; measureManager.camera.ImageAcqed += Camera_ImageAcqed; //绑定图像接收完成事件 measureManager.AddCompleted += MeasureManager_AddCompleted; //绑定测量单元管理器添加完成事件 measureManager.ModificationCompleted += MeasureManager_ModificationCompleted; //绑定测量单元管理器修改完成事件 }
private void BindData() { MeasureDimension measureDimension = MeasureManager.GetMeasureDimensionById(this.MeasureDimensionId); if (measureDimension != null) { this.txtName.Text = measureDimension.Name; this.txtSystemKeyword.Text = measureDimension.SystemKeyword; this.txtRatio.Value = measureDimension.Ratio; this.txtDisplayOrder.Value = measureDimension.DisplayOrder; } }
private long GetExecutionTime(object context, MethodInfo method, object[] argumentArray, int countOfInvokations) { long timeOfAllInvoketionsMs = 0; for (int i = 0; i < countOfInvokations; i++) { timeOfAllInvoketionsMs += MeasureManager.MeasureMethod(context, method, argumentArray); } return(timeOfAllInvoketionsMs); }
protected void DeleteButton_Click(object sender, EventArgs e) { try { MeasureManager.DeleteMeasureWeight(this.MeasureWeightId); Response.Redirect("Measures.aspx"); } catch (Exception exc) { ProcessException(exc); } }
private void BindData() { MeasureWeight measureWeight = MeasureManager.GetMeasureWeightById(this.MeasureWeightId); if (measureWeight != null) { this.txtName.Text = measureWeight.Name; this.txtSystemKeyword.Text = measureWeight.SystemKeyword; this.txtRatio.Value = measureWeight.Ratio; this.txtDisplayOrder.Value = measureWeight.DisplayOrder; } }
private void Ufrm_Angle_Load(object sender, System.EventArgs e) { hWindow_Final1.HobjectToHimage(ho_Image); if (measureManager == null) { measureManager = form.measureManager; } lines = new List <Line>(); List <MeasuringUnit> units = measureManager.ListAllLine();//获取所有线 foreach (var item in units) { lines.Add(item as Line); cmb_Item1.Items.Add(item.name); cmb_Item2.Items.Add(item.name); } //判断是否编辑模式进入 if (EditMode) { nud_Spacing.Value = data.StringHeight; cbx_AlwaysMinAngel.Visible = false; txt_Name.Text = data.name; //txt_Name.Enabled = false;//编辑模式下不能编辑名字 calculate = data as BaseCal_Single; cmb_Item1.SelectedIndex = Func_System.GetIndex(lines, calculate.unit1 as Line); cmb_Item2.SelectedIndex = Func_System.GetIndex(lines, calculate.unit2 as Line); if (cmb_Item1.SelectedIndex == -1) { calculate.unit1 = new Line(0, 0, 1, 1); } if (cmb_Item2.SelectedIndex == -1) { calculate.unit2 = new Line(0, 0, 1, 1); } nud_MaxValue.Value = (decimal)calculate.maxValue; nud_MinValue.Value = (decimal)calculate.minValue; txt_RealValue.Text = (calculate.hv_RealDistance != null ? calculate.hv_RealDistance.D : 0).ToString("f1"); prepared = true; RunOnce(); } else { calculate = new AngelLineToLine(measureManager.k, new Line(0, 0, 1, 1), new Line(0, 0, 1, 1)); data = calculate; prepared = true; } }
/// <summary> /// returns the volume of the passed reference set in kubicmeter /// </summary> /// <param name="refset"></param> /// <param name="workpart"></param> /// <param name="theSession"></param> /// <returns></returns> public static double GetRefSetVolume(ReferenceSet refset, Part workpart, Session theSession) { List <Body> solidBodies = RefsetHelper.GetSolidBodiesFromRefset(workpart, refset); MeasureManager mManager = theSession.Parts.Display.MeasureManager; List <Unit> massUnits = new List <Unit>(); massUnits.Add(theSession.Parts.Display.UnitCollection.GetBase("Area")); massUnits.Add(theSession.Parts.Display.UnitCollection.GetBase("Volume")); massUnits.Add(theSession.Parts.Display.UnitCollection.GetBase("Mass")); massUnits.Add(theSession.Parts.Display.UnitCollection.GetBase("Length")); MeasureBodies measureBodies = mManager.NewMassProperties(massUnits.ToArray(), 0.99, solidBodies.ToArray()); return(measureBodies.Volume); }
/// <summary> /// 根据三点测量角度 /// </summary> /// <param name="theMeasureManager"></param> /// <param name="basePoint3d">基点</param> /// <param name="baseLineEndPoint3d">基线的终点</param> /// <param name="protractorEndPoint3d">量角器的终点</param> /// <returns></returns> public static double MeasureAngle(this MeasureManager theMeasureManager, Point3d basePoint3d, Point3d baseLineEndPoint3d, Point3d protractorEndPoint3d) { Unit degreeUnit = WorkPart.UnitCollection.FindObject("Degrees"); var basePoint = WorkPart.Points.CreatePoint(basePoint3d); var baseEnd = WorkPart.Points.CreatePoint(baseLineEndPoint3d); var protractorEnd = WorkPart.Points.CreatePoint(protractorEndPoint3d); var measurement = WorkPart.MeasureManager.NewAngle(degreeUnit, basePoint, baseEnd, protractorEnd, true); return(measurement.Value); }
/// <summary> /// 获取极限点 /// </summary> /// <param name="measureManager"></param> /// <param name="faces">要进行计算的面</param> /// <param name="measureDirection">第一个方向</param> /// <param name="secondDirection">第二个方向</param> /// <param name="thirdDirection">第三个方向</param> /// <returns>结果点</returns> public static Point3d MeasureExtreme(this MeasureManager measureManager, Face[] faces, Vector3d measureDirection, Vector3d secondDirection, Vector3d thirdDirection) { NXOpen.Unit lengthUnit = WorkPart.UnitCollection.FindObject("MilliMeter"); #if NX12 FaceDumbRule faceDumbRule = (WorkPart as BasePart).ScRuleFactory.CreateRuleFaceDumb(faces); #else FaceDumbRule faceDumbRule = WorkPart.ScRuleFactory.CreateRuleFaceDumb(faces); #endif ScCollector scCollector = WorkPart.ScCollectors.CreateCollector(); scCollector.ReplaceRules(new SelectionIntentRule[] { faceDumbRule }, false); Direction direction1 = WorkPart.Directions.CreateDirection(new Point3d(), measureDirection, NXOpen.SmartObject.UpdateOption.WithinModeling); Direction direction2 = WorkPart.Directions.CreateDirection(new Point3d(), secondDirection, NXOpen.SmartObject.UpdateOption.WithinModeling); Direction direction3 = WorkPart.Directions.CreateDirection(new Point3d(), thirdDirection, NXOpen.SmartObject.UpdateOption.WithinModeling); var facesExtreme = measureManager.NewRectangularExtreme(lengthUnit, direction1, direction2, direction3, scCollector, false); return(facesExtreme.Point); }
/// <summary> /// 获取极限点,先创建一个较远的平面,然后测量与这个平面的距离 /// </summary> /// <returns></returns> public static Point3d MeasureExtreme(this MeasureManager measureManager, Body body, Vector3d vector) { Plane normal_plane = WorkPart.Planes.CreatePlane(new Point3d(vector.X * 100.0, vector.Y * 100.0, vector.Z * 100.0), vector, SmartObject.UpdateOption.WithinModeling); normal_plane.SetVisibility(SmartObject.VisibilityOption.Visible); double min_dist; double[] pt_on_obj1 = new double[3]; double[] pt_on_obj2 = new double[3]; double accuracy; TheUfSession.Modl.AskMinimumDist3(2, body.Tag, normal_plane.Tag, 0, null, 0, null, out min_dist, pt_on_obj1, pt_on_obj2, out accuracy); normal_plane.Delete(); return(pt_on_obj1.ToPoint3d()); }
private void Ufrm_Radius_Load(object sender, EventArgs e) { hWindow_Final1.HobjectToHimage(ho_Image); if (measureManager == null) { measureManager = form.measureManager; } circles = new List <Circle>(); measuringUnits = measureManager.ListAllCircle(); foreach (var item in measuringUnits) { circles.Add(item as Circle); cmb_Circles.Items.Add(item.name); } if (EditMode) { //编辑模式 nud_Spacing.Value = data.StringHeight; txt_Name.Text = data.name; // txt_Name.Enabled = false;//编辑模式下不能编辑名字 calculate = data as BaseCal_Single; cmb_Circles.SelectedIndex = Func_System.GetIndex(measuringUnits, calculate.unit1); if (cmb_Circles.SelectedIndex == -1) { calculate.unit1 = new Circle(0, 0, 1); } nud_MaxValue.Value = (decimal)calculate.maxValue; nud_MinValue.Value = (decimal)calculate.minValue; nud_k.Value = (decimal)calculate.kCx.D; nud_RealValue.Value = (decimal)(calculate.hv_RealDistance != null ? calculate.hv_RealDistance.D : 0); prepared = true; RunOnce(); } else { calculate = new CircleRadius(measureManager.k, new Circle(0, 0, 1)); nud_k.Value = (decimal)measureManager.k; data = calculate; prepared = true; } }
private void Ufrm_Position_Load(object sender, EventArgs e) { hWindow_Final1.HobjectToHimage(ho_Image); if (measureManager == null) { measureManager = form.measureManager; } if (EditMode) { prepared = true; // txt_Name.Enabled = false;//编辑模式下不能编辑名字 txt_Name.Text = data.name; transformation = data as TranslationTracking; transformation.line = (data as TranslationTracking).line; /* nud_MaxGray.Value = trb_MaxGray.Value = getRegionUseThreshold.parameter.hv_MaxGray; * nud_MinGray.Value = trb_MinGray.Value = getRegionUseThreshold.parameter.hv_MinGray;*/ nud_MaxGray.Value = trb_MaxGray.Value = (transformation.line as GetLineUseThreshold).parameter.hv_MaxGray; nud_MinGray.Value = trb_MinGray.Value = (transformation.line as GetLineUseThreshold).parameter.hv_MinGray; if (2 == (transformation.line as GetLineUseThreshold).TPLR) { rdo_DownEdge.Checked = true; } if (3 == (transformation.line as GetLineUseThreshold).TPLR) { rdo_LeftEdge.Checked = true; } if (4 == (transformation.line as GetLineUseThreshold).TPLR) { rdo_RightEdge.Checked = true; } } else { transformation = new TranslationTracking(); data = transformation; transformation.line = new GetLineUseThreshold(); } RunOnce(); }
public MeasureWeight SaveInfo() { string name = txtName.Text; string systemKeyword = txtSystemKeyword.Text; decimal ratio = txtRatio.Value; int displayOrder = txtDisplayOrder.Value; MeasureWeight measureWeight = MeasureManager.GetMeasureWeightById(this.MeasureWeightId); if (measureWeight != null) { measureWeight = MeasureManager.UpdateMeasureWeight(measureWeight.MeasureWeightId, name, systemKeyword, ratio, displayOrder); } else { measureWeight = MeasureManager.InsertMeasureWeight(name, systemKeyword, ratio, displayOrder); } return(measureWeight); }
public MeasureDimension SaveInfo() { string name = txtName.Text; string systemKeyword = txtSystemKeyword.Text; decimal ratio = txtRatio.Value; int displayOrder = txtDisplayOrder.Value; MeasureDimension measureDimension = MeasureManager.GetMeasureDimensionById(this.MeasureDimensionId); if (measureDimension != null) { measureDimension = MeasureManager.UpdateMeasureDimension(measureDimension.MeasureDimensionId, name, systemKeyword, ratio, displayOrder); } else { measureDimension = MeasureManager.InsertMeasureDimension(name, systemKeyword, ratio, displayOrder); } return(measureDimension); }
protected void btnSave_Click(object sender, EventArgs e) { try { //dimensions foreach (GridViewRow row in gvDimensions.Rows) { RadioButton rdbIsPrimaryDimension = (RadioButton)row.FindControl("rdbIsPrimaryDimension"); HiddenField hfMeasureDimensionId = (HiddenField)row.FindControl("hfMeasureDimensionId"); int measureDimensionId = int.Parse(hfMeasureDimensionId.Value); if (rdbIsPrimaryDimension.Checked) { MeasureManager.BaseDimensionIn = MeasureManager.GetMeasureDimensionById(measureDimensionId); } } //weights foreach (GridViewRow row in gvWeights.Rows) { RadioButton rdbIsPrimaryWeight = (RadioButton)row.FindControl("rdbIsPrimaryWeight"); HiddenField hfMeasureWeightId = (HiddenField)row.FindControl("hfMeasureWeightId"); int measureWeightId = int.Parse(hfMeasureWeightId.Value); if (rdbIsPrimaryWeight.Checked) { MeasureManager.BaseWeightIn = MeasureManager.GetMeasureWeightById(measureWeightId); } } BindDimensions(); BindWeights(); } catch (Exception exc) { ProcessException(exc); } }