Esempio n. 1
0
        //ERACategoryDynamicField
        public FormOptionsSettingViewModel.ERACategoryDynamicFieldListResult getERACategoryDynamicFieldListResult(FormOptionsSettingViewModel.FormClassSettingForInfoSystemApplyQueryParameter param)
        {
            FormOptionsSettingViewModel.ERACategoryDynamicFieldListResult ret = new FormOptionsSettingViewModel.ERACategoryDynamicFieldListResult();

            try {
                ret.success    = true;
                ret.resultCode = "200";
                Tuple <List <ERACategoryDynamicField>, int> tuple_list = this.formOptionSettingDao.getERACategoryDynamicFieldList(param);
                ret.list  = tuple_list.Item1;
                ret.count = tuple_list.Item2;
            } catch (Exception ex) {
                ret.success         = false;
                ret.resultException = ex.ToString();
                ret.resultCode      = "500";
            }

            return(ret);
        }
        //儲存
        protected void btn_View_advancedSave_Click(object sender, EventArgs e)
        {
            string ckl_id_save = "";

            //額外動態欄位
            for (int i = 0; i < this.ckl_DisplayOtherField.Items.Count; i++)
            {
                if (this.ckl_DisplayOtherField.Items[i].Selected)
                {
                    ckl_id_save += this.ckl_DisplayOtherField.Items[i].Value;
                }
            }
            //範本下載
            for (int i = 0; i < this.chk_TemplateDownload.Items.Count; i++)
            {
                if (this.chk_TemplateDownload.Items[i].Selected)
                {
                    ckl_id_save += this.chk_TemplateDownload.Items[i].Value;
                }
            }

            //如果使用者有更新checkboxlist
            if (this.lbl_cklValues.Text != ckl_id_save)
            {
                FormOptionsSettingViewModel.FormClassSettingForInfoSystemApplyQueryParameter View_advanced_forList = new FormOptionsSettingViewModel.FormClassSettingForInfoSystemApplyQueryParameter {
                    desc       = true,
                    orderField = "Id",
                    pageIndex  = 1,
                    pageSize   = int.MaxValue,
                    id         = int.Parse(query_id),
                    cateogryId = int.Parse(query_id)
                };

                //判斷該筆資料是否已存在(目前使用cateogryId當條件)
                FormOptionsSettingViewModel.ERACategoryDynamicFieldListResult list_ret = this.formOptSvc.getERACategoryDynamicFieldListResult(View_advanced_forList);
                CommonViewModel.Result      updateRet_ERACDF;
                Dictionary <string, object> dicObj_ERACDF = new Dictionary <string, object>();
                //新增ERACategoryDynamicField項目作法
                FormOptionsSettingViewModel.ERACategoryDynamicFieldResult add_ret_ERAF;
                ERACategoryDynamicField ef;

                if (list_ret.count > 0)
                {
                    dicObj_ERACDF.Add("deleted", true);//更新原有舊資料deleted為1
                    //因為有多筆所以使用迴圈
                    for (int i = 0; i < list_ret.count; i++)
                    {
                        updateRet_ERACDF = this.formOptSvc.updateERACategoryDynamicField(list_ret.list[i].Id, dicObj_ERACDF);//ERACategoryDynamicField
                    }
                }
                //將使用者新勾選資料新增
                for (int i = 0; i < this.ckl_DisplayOtherField.Items.Count; i++)
                {
                    if (this.ckl_DisplayOtherField.Items[i].Selected)
                    {
                        ef = new ERACategoryDynamicField()
                        {
                            dynamicFieldSettingId = long.Parse(ckl_DisplayOtherField.Items[i].Value),
                            cateogryId            = long.Parse(query_id),
                            deleted     = false,
                            dateCreated = DateTime.Now
                        };

                        add_ret_ERAF            = this.formOptSvc.addERACategoryDynamicField(ef);
                        this.lt_akert_msg.Text += (!add_ret_ERAF.success) ? UtilitySvc.alertMsg(add_ret_ERAF.resultException) : "";
                    }
                }

                for (int i = 0; i < this.chk_TemplateDownload.Items.Count; i++)
                {
                    if (this.chk_TemplateDownload.Items[i].Selected)
                    {
                        ef = new ERACategoryDynamicField()
                        {
                            dynamicFieldSettingId = long.Parse(chk_TemplateDownload.Items[i].Value),
                            cateogryId            = long.Parse(query_id),
                            deleted     = false,
                            dateCreated = DateTime.Now
                        };

                        add_ret_ERAF            = this.formOptSvc.addERACategoryDynamicField(ef);
                        this.lt_akert_msg.Text += (!add_ret_ERAF.success) ? UtilitySvc.alertMsg(add_ret_ERAF.resultException) : "";
                    }
                }
            }

            this.lbl_cklValues.Text = "";//清空隱藏判斷欄位

            //修改ERACategoryForInf
            Dictionary <string, object> dicObj_ERAC = new Dictionary <string, object>();

            //處理人員
            dicObj_ERAC.Add("personnelID", this.hid_ViewAdvanced_PersonnelID.Value);
            //if (this.hid_ViewAdvanced_PersonnelID.Value != "") {
            //    dicObj_ERAC.Add("personnelID", this.hid_ViewAdvanced_PersonnelID.Value);
            //}
            //加簽人員
            dicObj_ERAC.Add("addActivityPersonnelID", this.hid_ViewAdvanced_ActivityPersonnelID.Value);
            //if (this.hid_ViewAdvanced_ActivityPersonnelID.Value != "") {
            //    dicObj_ERAC.Add("addActivityPersonnelID", this.hid_ViewAdvanced_ActivityPersonnelID.Value);
            //}
            //部門名稱
            dicObj_ERAC.Add("departmentID", this.ddl_ViewAdvanced_DepartmentID.SelectedValue == "" ? this.hid_ViewAdvanced_departmentID.Value : this.ddl_ViewAdvanced_DepartmentID.SelectedValue);
            //dicObj_ERAC.Add("departmentID", this.hid_ViewAdvanced_departmentID.Value);
            //if (this.hid_ViewAdvanced_PersonnelID.Value != "") {
            //    dicObj_ERAC.Add("departmentID", this.hid_ViewAdvanced_departmentID.Value);
            //} else {
            //    dicObj_ERAC.Add("departmentID", "");
            //}
            //if (this.hid_ViewAdvanced_departmentID.Value != "") {
            //    dicObj_ERAC.Add("departmentID", this.hid_ViewAdvanced_departmentID.Value);
            //}
            //主類別
            var vpID = this.ddl_ViewAdvanced_PartentID.SelectedValue == "-" ? "-1" : this.ddl_ViewAdvanced_PartentID.SelectedValue;

            dicObj_ERAC.Add("parentID", long.Parse(vpID));
            dicObj_ERAC.Add("name", this.txt_ViewAdvanced_ClassName.Text.Trim());                                               //類別名稱
            dicObj_ERAC.Add("dicisionProcessLevel", this.ddl_ViewAdvanced_DicisionProcessLevel.SelectedValue);                  //核決層級

            CommonViewModel.Result updateRet_ERAC = this.formOptSvc.updateERACategoryForInf(long.Parse(query_id), dicObj_ERAC); //ERACategoryForInf

            //修改ERACategoryForInf
            Dictionary <string, object> dicObj_ERAP = new Dictionary <string, object>();

            bool bIsforAll = this.ddl_ViewAdvanced_IsforAll.SelectedValue == "0" ? false : true;

            dicObj_ERAP.Add("isforAll", bIsforAll);                                                                               //是否適用全單位
            dicObj_ERAP.Add("departmentID", this.ddl_ViewAdvanced_PermissionDepartmentID.SelectedValue);                          //權限單位

            CommonViewModel.Result updateRet_ERAP = this.formOptSvc.updateERAPermissionForInf(long.Parse(query_id), dicObj_ERAP); //ERAPermissionForInf

            //若不成功 則要顯示錯誤訊息
            if (!updateRet_ERAC.success || !updateRet_ERAP.success)
            {
                this.lt_akert_msg.Text += updateRet_ERAC.resultException + updateRet_ERAP.resultException;
            }
            else
            {
                this.lt_akert_msg.Text = UtilitySvc.alertMsg("儲存成功");
                this.AdvancedReload();
                this.MultiView.ActiveViewIndex = 1;
            }
        }