/// <summary> /// 添加/修改现货涨跌幅和有效申报 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOK_Click(object sender, EventArgs e) { try { var xHSpotHighLowValue = new XH_SpotHighLowValue(); var xHSpotHighLowControlType = new XH_SpotHighLowControlType(); var xHValidDeclareType = new XH_ValidDeclareType(); var xHValidDeclareValue = new XH_ValidDeclareValue(); //涨跌幅类型和有效申报类型 if (!string.IsNullOrEmpty(cmbHighLowTypeID.Text) && !string.IsNullOrEmpty(cmbValidDeclareTypeID.Text)) { xHSpotHighLowControlType.HighLowTypeID = ((UComboItem)cmbHighLowTypeID.SelectedItem).ValueIndex; switch (cmbHighLowTypeID.SelectedIndex) { case 0: //股票 if (!string.IsNullOrEmpty(txtHighLowValue1.Text)) { if (InputTest.DecimalTest(this.txtHighLowValue1.Text)) { xHSpotHighLowValue.StValue = Convert.ToDecimal(txtHighLowValue1.Text); } else { ShowMessageBox.ShowInformation("格式不正确(只能包含数字和小数点)!"); return; } } else { ShowMessageBox.ShowInformation("ST股票不能为空!"); return; } if (!string.IsNullOrEmpty(txtHighLowValue2.Text)) { if (InputTest.DecimalTest(this.txtHighLowValue2.Text)) { xHSpotHighLowValue.NormalValue = Convert.ToDecimal(txtHighLowValue2.Text); } else { ShowMessageBox.ShowInformation("格式不正确(只能包含数字和小数点)!"); return; } } else { ShowMessageBox.ShowInformation("正常股票不能为空!"); return; } break; case 1: //权证 if (!string.IsNullOrEmpty(txtHighLowValue1.Text)) { if (InputTest.DecimalTest(this.txtHighLowValue1.Text)) { xHSpotHighLowValue.RightHighLowScale = Convert.ToDecimal(txtHighLowValue1.Text); } else { ShowMessageBox.ShowInformation("格式不正确(只能包含数字和小数点)!"); return; } } else { ShowMessageBox.ShowInformation("权证涨跌幅不能为空!"); return; } break; case 2: //基金 if (!string.IsNullOrEmpty(txtHighLowValue1.Text)) { if (InputTest.DecimalTest(this.txtHighLowValue1.Text)) { xHSpotHighLowValue.FundYestClosePriceScale = Convert.ToDecimal(txtHighLowValue1.Text); } else { ShowMessageBox.ShowInformation("格式不正确(只能包含数字和小数点)!"); return; } } else { ShowMessageBox.ShowInformation("基金涨跌幅不能为空!"); return; } break; case 3: //债券(无涨跌幅限制) xHSpotHighLowValue.StValue = AppGlobalVariable.INIT_DECIMAL; xHSpotHighLowValue.NormalValue = AppGlobalVariable.INIT_DECIMAL; xHSpotHighLowValue.RightHighLowScale = AppGlobalVariable.INIT_DECIMAL; xHSpotHighLowValue.FundYestClosePriceScale = AppGlobalVariable.INIT_DECIMAL; break; } //有效申报 switch (cmbValidDeclareTypeID.SelectedIndex) { case 0: //最近成交价的上下百分比 if (!string.IsNullOrEmpty(cmbValidDeclareTypeID.Text)) { xHValidDeclareType.ValidDeclareTypeID = ((UComboItem)cmbValidDeclareTypeID.SelectedItem).ValueIndex; } else { xHValidDeclareType.ValidDeclareTypeID = AppGlobalVariable.INIT_INT; } string mess = string.Empty; xHValidDeclareValue = VeriyXHValidDeclareValue(ref mess); if (!string.IsNullOrEmpty(mess)) { ShowMessageBox.ShowInformation(mess); return; } break; case 1: //不高于即时揭示的最低卖出价格的百分比且不低于即时揭示 if (!string.IsNullOrEmpty(cmbValidDeclareTypeID.Text)) { xHValidDeclareType.ValidDeclareTypeID = ((UComboItem)cmbValidDeclareTypeID.SelectedItem).ValueIndex; } else { xHValidDeclareType.ValidDeclareTypeID = AppGlobalVariable.INIT_INT; } mess = string.Empty; xHValidDeclareValue = VeriyXHValidDeclareValue(ref mess); if (!string.IsNullOrEmpty(mess)) { ShowMessageBox.ShowInformation(mess); return; } break; case 2: //3: if (!string.IsNullOrEmpty(cmbValidDeclareTypeID.Text)) { xHValidDeclareType.ValidDeclareTypeID = ((UComboItem)cmbValidDeclareTypeID.SelectedItem).ValueIndex; } else { xHValidDeclareType.ValidDeclareTypeID = AppGlobalVariable.INIT_INT; } mess = string.Empty; xHValidDeclareValue = VeriyXHValidDeclareValue(ref mess); if (!string.IsNullOrEmpty(mess)) { ShowMessageBox.ShowInformation(mess); return; } if (!string.IsNullOrEmpty(txtNewDayUpperLimit.Text)) { if (InputTest.DecimalTest(this.txtNewDayUpperLimit.Text)) { xHValidDeclareValue.NewDayUpperLimit = Convert.ToDecimal(txtNewDayUpperLimit.Text); } else { ShowMessageBox.ShowInformation("格式不正确(只能包含数字和小数点)!"); return; } } else { ShowMessageBox.ShowInformation("上市首日上限不能为空!"); return; } if (!string.IsNullOrEmpty(txtNewDayLowerLimit.Text)) { if (InputTest.DecimalTest(this.txtNewDayLowerLimit.Text)) { xHValidDeclareValue.NewDayLowerLimit = Convert.ToDecimal(txtNewDayLowerLimit.Text); } else { ShowMessageBox.ShowInformation("格式不正确(只能包含数字和小数点)!"); return; } } else { ShowMessageBox.ShowInformation("上市首日下限不能为空!"); return; } break; } if (HighLowUIEditType == (int)UITypes.EditTypeEnum.AddUI) { XH_AboutSpotHighLowEntity xhAboutSpotHighLowEntity = SpotManageCommon.AddXHSpotHighLowAndValidDecl(xHSpotHighLowControlType, xHSpotHighLowValue, xHValidDeclareType, xHValidDeclareValue); if (xhAboutSpotHighLowEntity != null) { BreedClassHighLowID = (int)xhAboutSpotHighLowEntity.BreedClassHighLowID; BreedClassValidID = (int)xhAboutSpotHighLowEntity.BreedClassValidID; ShowMessageBox.ShowInformation("添加成功!"); ClearAll(); DialogResult = DialogResult.OK; Close(); } else { ShowMessageBox.ShowInformation("添加失败!"); } } else if (HighLowUIEditType == (int)UITypes.EditTypeEnum.UpdateUI) { if (m_BreedClassHighLowID != AppGlobalVariable.INIT_INT) { xHSpotHighLowControlType.BreedClassHighLowID = m_BreedClassHighLowID; xHSpotHighLowValue.BreedClassHighLowID = m_BreedClassHighLowID; xHValidDeclareType.BreedClassValidID = m_BreedClassValidID; xHValidDeclareValue.BreedClassValidID = m_BreedClassValidID; } bool _UpResult = SpotManageCommon.UpdateXHSpotHighLowAndValidDecl(xHSpotHighLowControlType, xHSpotHighLowValue, xHValidDeclareType, xHValidDeclareValue); if (_UpResult) { ShowMessageBox.ShowInformation("修改成功!"); DialogResult = DialogResult.OK; Close(); } else { ShowMessageBox.ShowInformation("修改失败!"); } } } else { xHSpotHighLowControlType.HighLowTypeID = AppGlobalVariable.INIT_INT; xHValidDeclareType.ValidDeclareTypeID = AppGlobalVariable.INIT_INT; return; } } catch (Exception ex) { string errCode = "GL-5042"; string errMsg = " 添加现货涨跌幅失败!"; var exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); } }
/// <summary> /// 添加现货涨跌幅和有效申报 /// </summary> /// <param name="xHSpotHighLowConType"></param> /// <param name="xHSpotHighLowValue"></param> /// <param name="xHValidDecType">有效申报类型实体类</param> /// <param name="xHValidDeclareValue">有效申报取值实体</param> /// <returns></returns> public XH_AboutSpotHighLowEntity AddXHSpotHighLowAndValidDecl(XH_SpotHighLowControlType xHSpotHighLowConType, XH_SpotHighLowValue xHSpotHighLowValue, XH_ValidDeclareType xHValidDecType, XH_ValidDeclareValue xHValidDeclareValue) { XH_SpotHighLowValueDAL xHSpotHighLowValueDAL = new XH_SpotHighLowValueDAL(); XH_SpotHighLowControlTypeDAL xHSpotHighLowControlTypeDAL = new XH_SpotHighLowControlTypeDAL(); XH_ValidDeclareTypeDAL xHValidDeclareTypeDAL = new XH_ValidDeclareTypeDAL(); XH_ValidDeclareValueDAL xHValidDeclareValueDAL = new XH_ValidDeclareValueDAL(); DbConnection Conn = null; Database db = DatabaseFactory.CreateDatabase(); Conn = db.CreateConnection(); if (Conn.State != ConnectionState.Open) { Conn.Open(); } DbTransaction Tran = Conn.BeginTransaction(); try { int breedClassHighLowID = AppGlobalVariable.INIT_INT; int breedClassValidID = AppGlobalVariable.INIT_INT; //List<XH_AboutSpotHighLowEntity> xhAboutSpotHighLowEList=new List<XH_AboutSpotHighLowEntity>(); XH_AboutSpotHighLowEntity xhAboutSpotHighLowEntity = new XH_AboutSpotHighLowEntity(); breedClassHighLowID = xHSpotHighLowControlTypeDAL.Add(xHSpotHighLowConType, Tran, db); if (breedClassHighLowID != AppGlobalVariable.INIT_INT) { xHSpotHighLowValue.BreedClassHighLowID = breedClassHighLowID; if (xHSpotHighLowValueDAL.AddXHSpotHighLowValue(xHSpotHighLowValue, Tran, db) == AppGlobalVariable.INIT_INT) { Tran.Rollback(); } } breedClassValidID = xHValidDeclareTypeDAL.AddValidDeclareType(xHValidDecType, Tran, db); if (breedClassValidID != AppGlobalVariable.INIT_INT) { xHValidDeclareValue.BreedClassValidID = breedClassValidID; if (!xHValidDeclareValueDAL.Add(xHValidDeclareValue, Tran, db)) { Tran.Rollback(); } } Tran.Commit(); xhAboutSpotHighLowEntity.BreedClassHighLowID = breedClassHighLowID; xhAboutSpotHighLowEntity.BreedClassValidID = breedClassValidID; return(xhAboutSpotHighLowEntity); } catch (Exception ex) { Tran.Rollback(); string errCode = "GL-5224"; string errMsg = "添加现货和有效申报失败!"; VTException exception = new VTException(errCode, errMsg, ex); LogHelper.WriteError(exception.ToString(), exception.InnerException); return(null); } finally { if (Conn.State == ConnectionState.Open) { Conn.Close(); } } }