Esempio n. 1
0
        protected void SaveBtn_Click(object sender, EventArgs e)
        {
            _salaryRepo = RepositoryFactory.CreateSalaryLimitRepo();
            //取得頁面資料
            model = WebUtils.ViewModelMapping <SalaryLimitViewModel>(this.Page);

            var validator   = new Validator();
            var validResult = validator.ValidateModel(model);

            if (!validResult.IsValid)
            {
                Response.Write(validResult.ErrorMessage.ToString().ToAlertFormat());
                return;
            }

            //btn處理
            ViewUtils.ButtonOff(SaveBtn, CoverBtn);

            //存檔
            string result = "存檔成功!";

            try
            {
                _salaryRepo.SaveData(model);
                ViewUtils.ButtonOn(SaveBtn, CoverBtn);
                Response.ShowMessageAndRefresh(result.ToAlertFormat());
            }
            catch (Exception ex)
            {
                result = String.Concat("存檔失敗!\r\n錯誤訊息: ", ex.Message);
                Response.Write(result.ToAlertFormat());
                ViewUtils.ShowRefreshBtn(CoverBtn, RefreshBtn);
            }
        }
Esempio n. 2
0
        public SalaryLimitViewModel GetLimitData(string sn)
        {
            SalaryLimitViewModel model = null;
            string strSQL       = @"Select * from SalaryLimit where SN = @SN";
            var    strCondition = new Conditions()
            {
                { "@SN", sn }
            };

            var result = _dc.QueryForDataRow(strSQL, strCondition);

            if (result == null)
            {
                return(null);
            }

            model = new SalaryLimitViewModel()
            {
                SN         = Int32.Parse(result["SN"].ToString()),
                LimitDate  = result["LimitDate"].ToString().ToDateTime(),
                Creator    = result["Creator"].ToString(),
                CreateDate = DateTime.Parse(result["CreateDate"].ToString()),
                Modifier   = result["Modifier"].ToString(),
                ModifyDate = !result["ModifyDate"].IsDBNullOrWhiteSpace() ? DateTime.Parse(result["ModifyDate"].ToString()) : DateTime.Parse(result["CreateDate"].ToString()),
                TimeStamp  = (result["ModifyDate"].IsDBNullOrWhiteSpace() ? result["CreateDate"].ToString() : result["ModifyDate"].ToString()).ToDateFormateString(),
            };

            return(model);
        }
Esempio n. 3
0
        public void SaveData(SalaryLimitViewModel model)
        {
            //model 不得為 null
            if (model == null)
            {
                throw new Exception("請檢查輸入的資料!");
            }

            if (model.SN <= 0)
            {
                //create data
                var mainpulationConditions = new Conditions()
                {
                    { "@LimitDate", model.LimitDate },
                    { "@Creator", model.Creator },
                    { "@CreateDate", model.CreateDate },
                    { "@Modifier", model.Creator }
                };
                try
                {
                    _dc.ExecuteAndCheck(
                        @"Insert into SalaryLimit ( LimitDate, Creator, CreateDate, Modifier)
					Values (@LimitDate, @Creator, @CreateDate, @Modifier)"                    , mainpulationConditions);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                //edit data
                var orgModel = GetLimitData(model.SN.ToString());
                //model 不得為 null
                if (model == null || orgModel == null)
                {
                    throw new Exception("請檢查輸入的資料!");
                }

                if (!model.TimeStamp.Equals(orgModel.ModifyDate.FormatDatetime()))
                {
                    throw new Exception("此筆資料已被他人更新,請重新整理後,再次檢查已更動的資料!");
                }

                var mainpulationConditions = new Conditions()
                {
                    { "@SN", model.SN },
                    { "@LimitDate", model.LimitDate },
                    { "@Modifier", model.Modifier },
                };

                try
                {
                    _dc.ExecuteAndCheck(
                        @"Update SalaryLimit Set 
		LimitDate = @LimitDate, 
		Modifier = @Modifier,
		ModifyDate = getDate()
Where SN = @SN", mainpulationConditions);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }