Пример #1
0
        public EO_EmployeeTitleDataTable EoEmployeeTitle_create(int rowCount = 1)
        {
            var dt = new EO_EmployeeTitleDataTable();

            if (rowCount < 0)
            {
                rowCount = 0;
            }

            for (int i = 0; i < rowCount; i++)
            {
                var row = dt.newTypedRow();
                row.ns_AssignNewId();
                dt.addTypedRow(row);
            }
            return(dt);
        }
Пример #2
0
        private void link_EOET_InUse_XX(EO_EmployeeTitleDataTable dt)
        {
            var pks = dt.getPrimaryKeys();

            var qrydb = new NsDbQuery();

            qrydb.setSelect(s => {
                var t1 = s.from <EO_Employee>();
                s.select(t1.EOE_EmployeeTitleId);
                s.Where = t1.EOE_EmployeeTitleId.batchin(pks.toConstReq1());
                s.groupBy(s.Selects[0]);
            });
            var dt2 = qrydb.queryData();

            dt2.Constraints.Add("PK", dt2.Columns[0], true);

            foreach (var row in dt)
            {
                var isUse = (dt2.Rows.Find(row.EOET_EmployeeTitleId) != null);
                row.EOET_InUse_XX     = isUse ? "T" : "F";
                row.EOET_InUseName_XX = isUse ? "使用中" : "未使用";
            }
        }
Пример #3
0
        public ActionResult Edit(FormCollection collection)
        {
            var token = collection["__RequestVerificationToken"];
            var mode  = collection["ViewMode"];
            var id    = collection[AppDataName.EOET_EmployeeTitleId];
            var msgOK = "OK";

            EO_EmployeeTitleDataTable dt  = null;
            EO_EmployeeTitleRow       row = null;

            try
            {
                if (mode.equalIgnoreCase("create"))
                {
                    dt    = EoDataService.Instance.EoEmployeeTitle_create();
                    msgOK = FtdStatus.InsertSuccess.ToString();
                }
                else
                {
                    //找出該筆資料
                    dt = EoDataService.Instance.EoEmployeeTitle_getById(id);
                    if (dt == null || dt.Count == 0)
                    {
                        return(Json(new { Result = jTable_ERROR_CODE, Message = "資料不存在" }));
                    }
                    msgOK = FtdStatus.UpdateSuccess.ToString();
                }

                //將Form sumit的資料更新至DataRow
                row = dt.FirstRow;
                var isOK = this.TryUpdateModel(row);

                //若驗證失敗-->回傳錯誤訊息
                if (!ModelState.IsValid)
                {
                    var errors = ModelState.Values.Where(x => x.Errors.Count > 0).SelectMany(x => x.Errors.Select(y => y.ErrorMessage)).ToArray();
                    return(Json(new { Result = jTable_ERROR_CODE, Message = string.Join("<br/>", errors) }));
                }

                #region //驗證欄位
                List <string> lstError = new List <string>();

                if (row.EOET_EmployeeTitleId.isNullOrEmpty())
                {
                    lstError.Add("職稱ID不能為空");
                }
                //if (row.EOET_TitleCode.isNullOrEmpty())
                //{
                //    lstError.Add("職稱代號不能為空");
                //}
                if (row.EOET_TitleName.isNullOrEmpty())
                {
                    lstError.Add("職稱名稱不能為空");
                }
                //if (!row.EOET_ListOrder.HasValue)
                //{
                //    lstError.Add("職稱順序不能為空");
                //}


                if (row.EOET_ListOrder.ToString() == "")
                {
                    //取得順序最大值
                    var ListOrder = EoDataService.Instance.EoEmployeeTitle_getListOrderMax();
                    row.EOET_ListOrder = ListOrder;
                    row.EOET_TitleCode = "EOET_" + ListOrder;
                }


                //回傳錯誤訊息
                if (lstError.Count > 0)
                {
                    return(Json(new { Result = jTable_ERROR_CODE, Message = string.Join("<br/>", lstError.ToArray()) }));
                }
                //檢查鍵值是否重覆
                if (EoDataService.Instance.EoEmployeeTitle_checkDuplicate(row.EOET_EmployeeTitleId, row.EOET_TitleCode))
                {
                    return(Json(new { Result = jTable_ERROR_CODE, Message = "職稱代號已存在" }));
                }
                #endregion

                dt.ns_update();
                dt.AcceptChanges();
                return(Json(new { Result = msgOK }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = jTable_ERROR_CODE, Message = ex.Message }));
            }
        }