private void gvyddj_DoubleClick(object sender, EventArgs e) { bflag.Ss = false; DataRow drdj = this.gvyddj.GetFocusedDataRow(); if (drdj != null) { string jglxsz; string cxsz; string lnqksz; double jzmj; double tdmj; double llsz; double rjlsz; string jtsz; #region 单家 yddjdata tmpyddjdata = new yddjdata(); double dj; if (double.TryParse(drdj["单价"].ToString(), out dj)) { bflag.Dj = dj; } else { MessageBox.Show("请检查所选择的行对应的单价数据的正确性!", "提示:"); return; } if (drdj["样点来源"].ToString().Trim() != "评估样点") { return; } if (double.TryParse(drdj["建筑面积"].ToString(), out jzmj)) { } else { if (double.TryParse(drdj["套内面积"].ToString(), out jzmj)) { } } if (jzmj <= 0) { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的建筑面积或套内面积!", drdj["序号"].ToString())); return; } if (double.TryParse(drdj["土地面积"].ToString(), out tdmj)) { drdj["容积率"] = (jzmj / tdmj).ToString("#.##"); } jglxsz = drdj["结构"].ToString(); cxsz = drdj["朝向"].ToString(); lnqksz = drdj["临路情况"].ToString(); jtsz = drdj["交通情况"].ToString(); if (double.TryParse(drdj["容积率"].ToString(), out rjlsz)) { } else { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的容积率!", drdj["序号"].ToString())); return; } if (double.TryParse(drdj["楼龄"].ToString(), out llsz)) { } else { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的楼龄!", drdj["序号"].ToString())); return; } tmpyddjdata.Cxsz = cxsz; tmpyddjdata.Jglxsz = jglxsz; tmpyddjdata.Jtsz = jtsz; tmpyddjdata.Jzmj = jzmj; tmpyddjdata.Llsz = llsz; tmpyddjdata.Lnqksz = lnqksz; tmpyddjdata.Rjlsz = rjlsz; EvaluateYd(tmpyddjdata, yd); if (yd != null) { drdj["标准价格"] = yd.Calu(bflag).ToString("#"); try { drdj["总价"] = (dj * double.Parse(drdj["建筑面积"].ToString())).ToString("#"); } catch { try { drdj["总价"] = (dj * double.Parse(drdj["套内面积"].ToString())).ToString("#"); } catch { } } } #endregion } }
private void EvaluateDjYdata() { string jglxsz; string cxsz; string lnqksz; double jzmj; double tdmj; double llsz; double rjlsz; string jtsz; #region 单家 bflag.Ss = true; yddjdata tmpyddjdata = new yddjdata(); DataTable dtdj = m_dstAll.Tables["yw_yddj"]; if (dtdj.Rows.Count > 0) { for (int i = 0; i < dtdj.Rows.Count; i++) { if (dtdj.Rows[i]["样点来源"].ToString().Trim() != "评估样点") { continue; } if (double.TryParse(dtdj.Rows[i]["建筑面积"].ToString(), out jzmj)) { } else { if (double.TryParse(dtdj.Rows[i]["套内面积"].ToString(), out jzmj)) { } } if (jzmj <= 0) { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的建筑面积或套内面积!", dtdj.Rows[i]["序号"].ToString())); return; } if (double.TryParse(dtdj.Rows[i]["土地面积"].ToString(), out tdmj)) { dtdj.Rows[i]["容积率"] = (jzmj / tdmj).ToString("#.##"); } jglxsz = dtdj.Rows[i]["结构"].ToString(); cxsz = dtdj.Rows[i]["朝向"].ToString(); lnqksz = dtdj.Rows[i]["临路情况"].ToString(); jtsz = dtdj.Rows[i]["交通情况"].ToString(); if (double.TryParse(dtdj.Rows[i]["容积率"].ToString(), out rjlsz)) { } else { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的容积率!", dtdj.Rows[i]["序号"].ToString())); return; } if (double.TryParse(dtdj.Rows[i]["楼龄"].ToString(), out llsz)) { } else { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的楼龄!", dtdj.Rows[i]["序号"].ToString())); return; } tmpyddjdata.Cxsz = cxsz; tmpyddjdata.Jglxsz = jglxsz; tmpyddjdata.Jtsz = jtsz; tmpyddjdata.Jzmj = jzmj; tmpyddjdata.Llsz = llsz; tmpyddjdata.Lnqksz = lnqksz; tmpyddjdata.Rjlsz = rjlsz; EvaluateYd(tmpyddjdata, yd); if (yd != null) { dtdj.Rows[i]["单价"] = yd.Calu().ToString("#"); try { dtdj.Rows[i]["总价"] = (yd.Calu() * double.Parse(dtdj.Rows[i]["建筑面积"].ToString())).ToString("#"); } catch { try { dtdj.Rows[i]["总价"] = (yd.Calu() * double.Parse(dtdj.Rows[i]["套内面积"].ToString())).ToString("#"); } catch { } } } } } #endregion }