Example #1
0
        /// <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);
                    }
                }
            }
        }
Example #2
0
        /// <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);
                            }
                        }
                    }
                }
            }
        }
Example #4
0
        /// <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);
        }
Example #5
0
        /// <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();
            }
        }