/// <summary> /// 绑定附属部队 /// </summary> /// <param name="oobInfo"></param> /// <param name="acNum"></param> private void ShowUserControl(OOBInfo oobInfo) { try { Add_AttachmentControl aac = new Add_AttachmentControl(oobInfo, localisationModel, pathInfo, countryCode, militaryTypeList); if (this.panel1.Controls.Count > 0) { Point point = this.panel1.Controls[this.panel1.Controls.Count - 1].Location; aac.Location = new Point(-5, point.Y + 105); } else { int pointy = acNum == 0 ? (acNum * 105) : (acNum * 105); aac.Location = new Point(-5, pointy); } aac.Parent = this.panel1; aac.Height = 100; this.panel1.Controls.Add(aac); } catch (Exception ex) { ShowErrorMessage("添加附属部队失败:" + ex.Message); } }
private void Save(object sender, EventArgs e) { try { int ID = Convert.ToInt32(txt_BasicID.Text); OOBInfo oobUpdateInfo = oobList.Find(o => o.id == ID); //移除当前的oob //oobList.Remove(oobUpdateInfo); #region 赋值基本信息 if (!string.IsNullOrEmpty(txt_BasicName.Text)) { oobUpdateInfo.name = txt_BasicName.Text; this.tv_Military.SelectedNode.Text = txt_BasicName.Text; } if (!string.IsNullOrEmpty(txt_BasicLocation.Text)) { Regex reg = new Regex(@"[0-9][0-9,.]*"); MatchCollection mc = reg.Matches(txt_BasicLocation.Text); if (mc.Count > 0) { if (oobUpdateInfo.armyType != ArmyTypeEnum.Navy && oobUpdateInfo.armyType != ArmyTypeEnum.Air) { oobUpdateInfo.location = mc[0].Value; } else { oobUpdateInfo.location = mc[0].Value; oobUpdateInfo.baseID = mc[0].Value; } } } if (cb_Reserve.Enabled && oobUpdateInfo.armyType == ArmyTypeEnum.Division) { oobUpdateInfo.is_reserve = cb_Reserve.Checked; } if (!string.IsNullOrEmpty(txt_LeaderID.Text)) { oobUpdateInfo.leader = txt_LeaderID.Text.Trim(); } //oobList.Add(oobUpdateInfo); #endregion #region 赋值附属部队的信息 int currentAcNum = oobList.FindAll(att => att.parentID == ID && (att.armyType == ArmyTypeEnum.Regiment || att.armyType == ArmyTypeEnum.Ship || att.armyType == ArmyTypeEnum.Wing)).Count; int num = 0; foreach (Control c in this.panel1.Controls) { if (num < currentAcNum) { AttachmentControl ac = (AttachmentControl)c; TextBox txt_AttID = (TextBox)ac.Controls[0].Controls.Find("txt_AttID", false)[0]; int attID = Convert.ToInt32(txt_AttID.Text); OOBInfo oobAttUpdateInfo = oobList.Find(o => o.id == attID); //oobList.Remove(oobAttUpdateInfo); TextBox txt_AttName = (TextBox)ac.Controls[0].Controls.Find("txt_AttName", false)[0]; if (!string.IsNullOrEmpty(txt_AttName.Text)) { oobAttUpdateInfo.name = txt_AttName.Text; } TextBox txt_AttExp = (TextBox)ac.Controls[0].Controls.Find("txt_AttExp", false)[0]; if (!string.IsNullOrEmpty(txt_AttExp.Text)) { oobAttUpdateInfo.experience = txt_AttExp.Text; } ComboBox cbb_AttType = (ComboBox)ac.Controls[0].Controls.Find("cbb_AttType", false)[0]; if (cbb_AttType.SelectedItem != null) { MilitaryTypeInfo militaryTypeInfo = militaryTypeList.Find(m => m.name == cbb_AttType.SelectedItem.ToString()); oobAttUpdateInfo.type = militaryTypeInfo.type; } ComboBox cbb_AttModel = (ComboBox)ac.Controls[0].Controls.Find("cbb_AttModel", false)[0]; if (cbb_AttModel.SelectedItem != null) { MilitaryTypeInfo militaryTypeInfo = militaryTypeList.Find(m => m.name == cbb_AttType.SelectedItem.ToString()); if (militaryTypeInfo.unitModelList != null || militaryTypeInfo.unitModelList.Count > 0) { oobAttUpdateInfo.historical_model = militaryTypeInfo.unitModelList.Find(uml => uml.name == cbb_AttModel.SelectedItem.ToString()).modelNum; } } //oobList.Add(oobAttUpdateInfo); } else { Add_AttachmentControl aac = (Add_AttachmentControl)c; TextBox txt_AttID = (TextBox)aac.Controls[0].Controls.Find("txt_AttID", false)[0]; int attID = Convert.ToInt32(txt_AttID.Text); OOBInfo oobAttAddInfo = new OOBInfo(); oobAttAddInfo.id = attID; oobAttAddInfo.parentID = ID; TextBox txt_AttName = (TextBox)aac.Controls[0].Controls.Find("txt_AttName", false)[0]; if (!string.IsNullOrEmpty(txt_AttName.Text)) { oobAttAddInfo.name = txt_AttName.Text; } TextBox txt_AttExp = (TextBox)aac.Controls[0].Controls.Find("txt_AttExp", false)[0]; if (!string.IsNullOrEmpty(txt_AttExp.Text)) { oobAttAddInfo.experience = txt_AttExp.Text; } ComboBox cbb_AttType = (ComboBox)aac.Controls[0].Controls.Find("cbb_AttType", false)[0]; if (cbb_AttType.SelectedItem != null) { MilitaryTypeInfo militaryTypeInfo = militaryTypeList.Find(m => m.name == cbb_AttType.SelectedItem.ToString()); oobAttAddInfo.type = militaryTypeInfo.type; } ComboBox cbb_AttModel = (ComboBox)aac.Controls[0].Controls.Find("cbb_AttModel", false)[0]; if (cbb_AttModel.SelectedItem != null) { MilitaryTypeInfo militaryTypeInfo = militaryTypeList.Find(m => m.name == cbb_AttType.SelectedItem.ToString()); if (militaryTypeInfo.unitModelList != null || militaryTypeInfo.unitModelList.Count > 0) { oobAttAddInfo.historical_model = militaryTypeInfo.unitModelList.Find(uml => uml.name == cbb_AttModel.SelectedItem.ToString()).modelNum; } } if (oobUpdateInfo.armyType == ArmyTypeEnum.Navy) { oobAttAddInfo.armyType = ArmyTypeEnum.Ship; } else if (oobUpdateInfo.armyType == ArmyTypeEnum.Air) { oobAttAddInfo.armyType = ArmyTypeEnum.Wing; } else { oobAttAddInfo.armyType = ArmyTypeEnum.Regiment; } oobList.Add(oobAttAddInfo); } num++; } #endregion //this.tv_Military.Nodes.Clear(); BindTree(0, oobList); } catch (Exception ex) { ShowErrorMessage("保存失败:" + ex.Message); } }
private void btn_Save_Click(object sender, EventArgs e) { try { List <OOBInfo> oobList = new List <OOBInfo>(); int ID = Convert.ToInt32(txt_BasicID.Text); OOBInfo oobAddInfo = new OOBInfo(); #region 赋值基本信息 oobAddInfo.id = ID; oobAddInfo.parentID = parentID; if (!((string)cbb_BasicType.SelectedItem).Equals("请选择")) { string attTypeName = (string)cbb_BasicType.SelectedItem;//获取当前选中项 oobAddInfo.armyType = ConvertArmyTypeStringToEnum(attTypeName); } if (!string.IsNullOrEmpty(txt_BasicName.Text)) { oobAddInfo.name = txt_BasicName.Text.Trim(); } if (!string.IsNullOrEmpty(txt_BasicLocation.Text)) { Regex reg = new Regex(@"[0-9][0-9,.]*"); MatchCollection mc = reg.Matches(txt_BasicLocation.Text); if (mc.Count > 0) { if (oobAddInfo.armyType != ArmyTypeEnum.Navy && oobAddInfo.armyType != ArmyTypeEnum.Air) { oobAddInfo.location = mc[0].Value; } else { oobAddInfo.location = mc[0].Value; oobAddInfo.baseID = mc[0].Value; } } } if (cb_Reserve.Enabled && oobAddInfo.armyType == ArmyTypeEnum.Division) { oobAddInfo.is_reserve = cb_Reserve.Checked; } oobList.Add(oobAddInfo); #endregion #region 赋值附属部队的信息 foreach (Control c in this.panel1.Controls) { Add_AttachmentControl aac = (Add_AttachmentControl)c; TextBox txt_AttID = (TextBox)aac.Controls[0].Controls.Find("txt_AttID", false)[0]; int attID = Convert.ToInt32(txt_AttID.Text); OOBInfo oobAttAddInfo = new OOBInfo(); oobAttAddInfo.id = attID; oobAttAddInfo.parentID = ID; TextBox txt_AttName = (TextBox)aac.Controls[0].Controls.Find("txt_AttName", false)[0]; if (!string.IsNullOrEmpty(txt_AttName.Text)) { oobAttAddInfo.name = txt_AttName.Text; } TextBox txt_AttExp = (TextBox)aac.Controls[0].Controls.Find("txt_AttExp", false)[0]; if (!string.IsNullOrEmpty(txt_AttExp.Text)) { oobAttAddInfo.experience = txt_AttExp.Text; } ComboBox cbb_AttType = (ComboBox)aac.Controls[0].Controls.Find("cbb_AttType", false)[0]; if (cbb_AttType.SelectedItem != null) { MilitaryTypeInfo militaryTypeInfo = militaryTypeList.Find(m => m.name == cbb_AttType.SelectedItem.ToString()); oobAttAddInfo.type = militaryTypeInfo.type; } ComboBox cbb_AttModel = (ComboBox)aac.Controls[0].Controls.Find("cbb_AttModel", false)[0]; if (cbb_AttModel.SelectedItem != null) { MilitaryTypeInfo militaryTypeInfo = militaryTypeList.Find(m => m.name == cbb_AttType.SelectedItem.ToString()); if (militaryTypeInfo.unitModelList != null || militaryTypeInfo.unitModelList.Count > 0) { oobAttAddInfo.historical_model = militaryTypeInfo.unitModelList.Find(uml => uml.name == cbb_AttModel.SelectedItem.ToString()).modelNum; } } if (oobAddInfo.armyType == ArmyTypeEnum.Navy) { oobAttAddInfo.armyType = ArmyTypeEnum.Ship; } else if (oobAddInfo.armyType == ArmyTypeEnum.Air) { oobAttAddInfo.armyType = ArmyTypeEnum.Wing; } else { oobAttAddInfo.armyType = ArmyTypeEnum.Regiment; } oobList.Add(oobAttAddInfo); } #endregion this.Close(); this.add_military(oobList); } catch (Exception ex) { ShowErrorMessage("保存失败:" + ex.Message); } }