/// <summary> /// 修改焦点对象 /// </summary> public void UpdateObject() { //获取焦点对象 PSP_VolumeBalance_Calc obj = FocusedObject; if (obj == null) { return; } PSP_VolumeBalance_Calc objtemp = new PSP_VolumeBalance_Calc(); objtemp.Title = obj.Title; objtemp.Type = obj.Type; //创建对象的一个副本 PSP_VolumeBalance_Calc objCopy = new PSP_VolumeBalance_Calc(); DataConverter.CopyTo <PSP_VolumeBalance_Calc>(obj, objCopy); //执行修改操作 using (FrmPSP_VolumeBalance_CalcDialog dlg = new FrmPSP_VolumeBalance_CalcDialog()) { dlg.Object = objCopy; //绑定副本 dlg.Type = type; dlg.CtrTitle = ctrtitle; dlg.FormTitle = FormTitle; if (type == "1" && dy == "220") { dlg.editorRow2.Visible = true; } if (dlg.ShowDialog() != DialogResult.OK) { return; } } //用副本更新焦点对象 DataConverter.CopyTo <PSP_VolumeBalance_Calc>(objCopy, obj); //刷新表格 SaveSum(); gridControl.RefreshDataSource(); if (objtemp.Title != obj.Title) { if (obj.Type == "1") { IList <PSP_VolumeBalance_Calc> list = Services.BaseService.GetList <PSP_VolumeBalance_Calc>("SelectPSP_VolumeBalance_CalcByTypeTitle", objtemp); foreach (PSP_VolumeBalance_Calc pvm in list) { PSP_VolumeBalance_Calc pvc = new PSP_VolumeBalance_Calc(); pvc = pvm; pvc.Title = obj.Title; Services.BaseService.Update <PSP_VolumeBalance_Calc>(pvc); } } } }
/// <summary> /// 删除焦点对象 /// </summary> public void DeleteObject() { //获取焦点对象 PSP_VolumeBalance_Calc obj = FocusedObject; if (obj == null) { return; } //请求确认 if (MsgBox.ShowYesNo(Strings.SubmitDelete) != DialogResult.Yes) { return; } //执行删除操作 try { Services.BaseService.Delete <PSP_VolumeBalance_Calc>(obj); } catch (Exception exc) { Debug.Fail(exc.Message); HandleException.TryCatch(exc); return; } this.gridView.BeginUpdate(); //记住当前焦点行索引 int iOldHandle = this.gridView.FocusedRowHandle; //从链表中删除 ObjectList.Remove(obj); //刷新表格 SaveSum(); gridControl.RefreshDataSource(); //设置新的焦点行索引 GridHelper.FocuseRowAfterDelete(this.gridView, iOldHandle); this.gridView.EndUpdate(); if (obj.Type == "1") { IList <PSP_VolumeBalance_Calc> list = Services.BaseService.GetList <PSP_VolumeBalance_Calc>("SelectPSP_VolumeBalance_CalcByTypeTitle", obj); foreach (PSP_VolumeBalance_Calc pvm in list) { PSP_VolumeBalance_Calc pvc = new PSP_VolumeBalance_Calc(); pvc = pvm; pvc.Title = pvm.Title; Services.BaseService.Delete <PSP_VolumeBalance_Calc>(pvc); IList <PSP_VolumeBalance_Calc> list1 = Services.BaseService.GetList <PSP_VolumeBalance_Calc>("SelectPSP_VolumeBalance_CalcByTypeFlag", pvm); deleSaveSum(list1, pvc.Flag); } } }
/// <summary> /// 删除焦点对象 /// </summary> /// #region 添加负荷行 private void AddFuHe(PSP_VolumeBalance obj) { PSP_VolumeBalance pvc = new PSP_VolumeBalance(); pvc.TypeID = type; pvc.Flag = flag; pvc.Year = EnsureBaseYear(); IList <PSP_VolumeBalance> list = Services.BaseService.GetList <PSP_VolumeBalance>("SelectPSP_VolumeBalanceByTypeIDAndYear", pvc); if (list != null) { if (list.Count == 1) { PSP_VolumeBalance_Calc pvc2 = new PSP_VolumeBalance_Calc(); pvc2.Type = "1"; pvc2.Flag = list[0].UID; IList <PSP_VolumeBalance_Calc> list2 = Services.BaseService.GetList <PSP_VolumeBalance_Calc>("SelectPSP_VolumeBalance_CalcByTypeFlag", pvc2); PSP_VolumeBalance_Calc pvc3 = new PSP_VolumeBalance_Calc(); pvc3.Type = "1"; pvc3.Flag = obj.UID; IList <PSP_VolumeBalance_Calc> list3 = Services.BaseService.GetList <PSP_VolumeBalance_Calc>("SelectPSP_VolumeBalance_CalcByTypeFlag", pvc3); if (list2 != null) { if (list2.Count > 0) { foreach (PSP_VolumeBalance_Calc pvctemp in list2) { if (list3 != null) { if (list3.Count == list2.Count) { break; } } PSP_VolumeBalance_Calc _obj = new PSP_VolumeBalance_Calc(); _obj = pvctemp; _obj.Flag = obj.UID; _obj.Vol = 0; _obj.UID = Guid.NewGuid().ToString(); Services.BaseService.Create <PSP_VolumeBalance_Calc>(_obj); } } } } } }
/// <summary> /// 刷新表格中的数据 /// </summary> /// <returns>ture:成功 false:失败</returns> public bool RefreshData() { try { PSP_VolumeBalance_Calc pvc = new PSP_VolumeBalance_Calc(); pvc.Type = type; pvc.Flag = flag; IList <PSP_VolumeBalance_Calc> list = Services.BaseService.GetList <PSP_VolumeBalance_Calc>("SelectPSP_VolumeBalance_CalcByTypeFlag", pvc); this.gridControl.DataSource = list; SaveSum(); } catch (Exception exc) { Debug.Fail(exc.Message); HandleException.TryCatch(exc); return(false); } return(true); }
/// <summary> /// 添加对象 /// </summary> public void AddObject() { //检查对象链表是否已经加载 if (ObjectList == null) { return; } //新建对象 PSP_VolumeBalance_Calc obj = new PSP_VolumeBalance_Calc(); obj.Flag = flag; obj.Type = type; obj.Col1 = dy; obj.CreateTime = DateTime.Now; //执行添加操作 using (FrmPSP_VolumeBalance_CalcDialog dlg = new FrmPSP_VolumeBalance_CalcDialog()) { dlg.IsCreate = true; //设置新建标志 dlg.Object = obj; dlg.Type = type; dlg.CtrTitle = ctrtitle; dlg.FormTitle = FormTitle; if (type == "1" && dy == "220") { dlg.editorRow2.Visible = true; } if (dlg.ShowDialog() != DialogResult.OK) { return; } } //将新对象加入到链表中 ObjectList.Add(obj); SaveSum(); //刷新表格,并将焦点行定位到新对象上。 gridControl.RefreshDataSource(); GridHelper.FocuseRow(this.gridView, obj); if (obj.Type == "1") { PSP_VolumeBalance ob = new PSP_VolumeBalance(); //ob.TypeID = dy; ob.UID = obj.Flag; //string s =""; IList <PSP_VolumeBalance> list = Services.BaseService.GetList <PSP_VolumeBalance>("SelectPSP_VolumeBalanceByKey", ob); if (list != null) { if (list.Count == 1) { ob.Flag = list[0].Flag; ob.TypeID = list[0].TypeID; //s = obj.Flag; list.Clear(); list = Services.BaseService.GetList <PSP_VolumeBalance>("SelectPSP_VolumeBalanceByTypeID", ob); foreach (PSP_VolumeBalance pvm in list) { if (pvm.UID == ob.UID) { continue; } PSP_VolumeBalance_Calc pvc = new PSP_VolumeBalance_Calc(); pvc = obj; pvc.Flag = pvm.UID; pvc.UID = Guid.NewGuid().ToString(); pvc.Vol = 0; pvc.Col2 = ""; Services.BaseService.Create <PSP_VolumeBalance_Calc>(pvc); } } } RefreshData(); } }