private void btnSave_Click(object sender, EventArgs e)
        {
            List <UDT.ScoreSheet> listInsertData = new List <UDT.ScoreSheet>();

            UDT.ScoreSheet data = new UDT.ScoreSheet();
            data.Acount                 = lbAccount.Text;
            data.SchoolYear             = int.Parse(lbSchoolYear.Text);
            data.Semester               = int.Parse(lbSemester.Text);
            data.RefPeriodID            = int.Parse(this._dicPeriodByName[cbxPeriod.SelectedItem.ToString()].UID);
            data.RefPlaceID             = int.Parse(this._dicPlaceByName[cbxPlace.SelectedItem.ToString()].UID);
            data.RefDeductionItemID     = int.Parse(this._dicItemByName[cbxItem.SelectedItem.ToString()].UID);
            data.RefDeductionStandardID = int.Parse(this._dicStandardByName[cbxStandard.SelectedItem.ToString()].UID);
            data.Remark                 = tbxRemark.Text.Trim();
            data.CreateTime             = DateTime.Parse(dateTimeInput1.Value.ToString("yyyy/MM/dd"));
            data.LastUpdateName         = this._userName;
            data.LastUpdateBy           = this._userAccount;

            listInsertData.Add(data);
            try
            {
                // 新增資料
                this._access.InsertValues(listInsertData);
                // 新增LOG
                string log = GetLogString();
                FISCA.LogAgent.ApplicationLog.Log("整潔競賽", "新增評分紀錄", log);
                MsgBox.Show("資料儲存成功!");
                this.DialogResult = DialogResult.Yes;
                this.Close();
            }
            catch (Exception ex)
            {
                MsgBox.Show(ex.Message);
            }
        }
Esempio n. 2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (Validate()) // 資料驗證
            {
                #region 資料整理
                List <UDT.ScoreSheet> listUpdateData = this._access.Select <UDT.ScoreSheet>(string.Format("uid = {0}", this._row["uid"]));
                UDT.ScoreSheet        data           = listUpdateData[0];

                string orgPeriodName   = this._dicPeriodByID.ContainsKey("" + data.RefPeriodID) ? this._dicPeriodByID["" + data.RefPeriodID].Name : "";
                string orgPlaceName    = this._dicPlaceByID.ContainsKey("" + data.RefPlaceID) ? this._dicPlaceByID["" + data.RefPlaceID].Name : "";
                string orgItemName     = this._dicItemByID.ContainsKey("" + data.RefDeductionItemID) ? this._dicItemByID["" + data.RefDeductionItemID].Name : "";
                string orgStandardName = this._dicStandardByID.ContainsKey("" + data.RefDeductionStandardID) ? this._dicStandardByID["" + data.RefDeductionStandardID].Name : "";
                // LOG
                StringBuilder logs = new StringBuilder(string.Format(
                                                           "管理員「{0}」修改「'{1}'時段,'{2}'位置,'{3}'扣分物件,'{4}'扣分項目,'{5}'建立日期」的評分紀錄。內容如下:"
                                                           , this._userName, orgPeriodName, orgPlaceName, orgItemName, orgStandardName, data.CreateTime.ToString("yyyy/MM/dd")));

                #region 評分紀錄
                // 時段
                if (data.RefPeriodID != int.Parse(this._dicPeriodByName[cbxPeriod.SelectedItem.ToString()].UID))
                {
                    logs.AppendLine(string.Format("\n 原時段「{0}」修改為「{1}」", orgPeriodName, cbxPeriod.SelectedItem.ToString()));

                    data.RefPeriodID = int.Parse(this._dicPeriodByName[cbxPeriod.SelectedItem.ToString()].UID);
                }
                // 位置
                if (data.RefPlaceID != int.Parse(this._dicPlaceByName[cbxPlace.SelectedItem.ToString()].UID))
                {
                    logs.AppendLine(string.Format("\n 原位置「{0}」修改為「{1}」", orgPlaceName, cbxPlace.SelectedItem.ToString()));

                    data.RefPlaceID = int.Parse(this._dicPlaceByName[cbxPlace.SelectedItem.ToString()].UID);
                }
                // 扣分物件
                if (data.RefDeductionItemID != int.Parse(this._dicItemByName[cbxItem.SelectedItem.ToString()].UID))
                {
                    logs.AppendLine(string.Format("原扣分物件「{0}」修改為「{1}」", orgItemName, cbxItem.SelectedItem.ToString()));

                    data.RefDeductionItemID = int.Parse(this._dicItemByName[cbxItem.SelectedItem.ToString()].UID);
                }
                // 扣分項目
                if (data.RefDeductionStandardID != int.Parse(this._dicStandardByName[cbxStandard.SelectedItem.ToString()].UID))
                {
                    logs.AppendLine(string.Format("原扣分項目「{0}」修改為「{1}」", orgStandardName, cbxStandard.SelectedItem.ToString()));

                    data.RefDeductionStandardID = int.Parse(this._dicStandardByName[cbxStandard.SelectedItem.ToString()].UID);
                }
                // 備註
                if (data.Remark != tbxRemark.Text.Trim())
                {
                    logs.AppendLine(string.Format("原備註「{0}」修改為「{1}」", data.Remark, tbxRemark.Text.Trim()));

                    data.Remark = tbxRemark.Text.Trim();
                }
                // 照片1位置
                if (data.Picture1 != tbxUrl1.Text.Trim())
                {
                    logs.AppendLine(string.Format("原照片1位置「{0}」修改為「{1}」", data.Picture1, tbxUrl1.Text.Trim()));

                    data.Picture1 = tbxUrl1.Text.Trim();
                }
                // 照片1評論
                if (data.Pic1Comment != tbxPicComment1.Text.Trim())
                {
                    logs.AppendLine(string.Format("原照片1評論「{0}」修改為「{1}」", data.Pic1Comment, tbxPicComment1.Text.Trim()));

                    data.Pic1Comment = tbxPicComment1.Text.Trim();
                }
                // 照片2位置
                if (data.Picture2 != tbxUrl2.Text.Trim())
                {
                    logs.AppendLine(string.Format("原照片2評論「{0}」修改為「{1}」", data.Picture2, tbxUrl2.Text.Trim()));

                    data.Picture2 = tbxUrl2.Text.Trim();
                }
                // 照片2評論
                if (data.Pic2Comment != tbxPicComment2.Text.Trim())
                {
                    logs.AppendLine(string.Format("原照片2評論「{0}」修改為「{1}」", data.Pic2Comment, tbxPicComment2.Text.Trim()));

                    data.Pic2Comment = tbxPicComment2.Text.Trim();
                }
                #endregion

                #region 查核
                if (data.CheckedName != tbxCheckName.Text.Trim())
                {
                    logs.AppendLine(string.Format("原查核者「{0}」變更為「{1}」", data.CheckedName, tbxCheckName.Text.Trim()));

                    data.CheckedName = tbxCheckName.Text.Trim();
                }
                if (data.CheckedBy != tbxCheckAccount.Text.Trim())
                {
                    logs.AppendLine(string.Format("原查核者帳號「{0}」變更為「{1}」", data.CheckedBy, tbxCheckAccount.Text.Trim()));

                    data.CheckedBy = tbxCheckAccount.Text.Trim();
                }
                if (data.CheckedTime.ToString("yyyy/MM/dd hh:mm") != lbCheckTime.Text.Trim())
                {
                    logs.AppendLine(string.Format("原查核時間「{0}」變更為「{1}」", (data.CheckedTime.ToString("yyyy/MM/dd") == "0001/01/01") ? "" : data.CheckedTime.ToString("yyyy/MM/dd hh:mm"), lbCheckTime.Text.Trim()));

                    data.CheckedTime = (lbCheckTime.Text.Trim() == "") ? new DateTime() : DateTime.Parse(lbCheckTime.Text.Trim());
                }

                #endregion

                #region 取消
                if (data.IsCanceled != ckbxCancel.Checked)
                {
                    logs.AppendLine(string.Format("取消此評分紀錄「{0}」變更為「{1}」", data.IsCanceled == true ? "是" : "否", ckbxCancel.Checked == true ? "是" : "否"));

                    data.IsCanceled = ckbxCancel.Checked;
                }
                if (data.CanceledName != tbxCancelName.Text.Trim())
                {
                    logs.AppendLine(string.Format("原取消者「{0}」變更為「{1}」", data.CanceledName, tbxCancelName.Text.Trim()));

                    data.CanceledName = tbxCancelName.Text.Trim();
                }
                if (data.CanceledBy != tbxCancelAccount.Text.Trim())
                {
                    logs.AppendLine(string.Format("原取消者帳號「{0}」變更為「{1}」", data.CanceledBy, tbxCancelAccount.Text.Trim()));

                    data.CanceledBy = tbxCancelAccount.Text.Trim();
                }
                if (data.CanceledReason != tbxCancelReason.Text.Trim())
                {
                    logs.AppendLine(string.Format("原取消原因「{0}」變更為「{1}」", data.CanceledReason, tbxCancelReason.Text.Trim()));

                    data.CanceledReason = tbxCancelReason.Text.Trim();
                }
                if (data.CanceledTime.ToString("yyyy/MM/dd hh:mm") != lbCancelTime.Text.Trim())
                {
                    logs.AppendLine(string.Format("原取消時間「{0}」變更為「{1}」", (data.CanceledTime.ToString("yyyy/MM/dd") == "0001/01/01") ? "" : data.CanceledTime.ToString("yyyy/MM/dd hh:mm"), lbCancelTime.Text.Trim()));

                    data.CanceledTime = lbCancelTime.Text.Trim() == "" ? new DateTime() : DateTime.Parse(lbCancelTime.Text.Trim());
                }

                #endregion

                #region 修改者資料
                if (data.LastUpdateName != tbxUpdateName.Text.Trim())
                {
                    logs.AppendLine(string.Format("原修改者「{0}」變更為「{1}」", data.LastUpdateName, tbxUpdateName.Text.Trim()));

                    data.LastUpdateName = tbxUpdateName.Text.Trim();
                }
                if (data.LastUpdateBy != tbxUpdateBy.Text.Trim())
                {
                    logs.AppendLine(string.Format("原修改者帳號「{0}」變更為「{1}」", data.LastUpdateBy, tbxUpdateBy.Text.Trim()));

                    data.LastUpdateBy = tbxUpdateBy.Text.Trim();
                }
                if (data.LastUpdateTime != DateTime.Parse(lbUpdateTime.Text.Trim()))
                {
                    logs.AppendLine(string.Format("原修改者時間「{0}」變更為「{1}」", (data.LastUpdateTime.ToString("yyyy/MM/dd") == "0001/01/01") ? "" : data.LastUpdateTime.ToString("yyyy/MM/dd hh:mm"), lbUpdateTime.Text.Trim()));

                    data.LastUpdateTime = (lbUpdateTime.Text.Trim() == "") ? new DateTime() : DateTime.Parse(lbUpdateTime.Text.Trim());
                }

                #endregion
                #endregion

                // 資料儲存
                try
                {
                    this._access.UpdateValues(listUpdateData);
                    FISCA.LogAgent.ApplicationLog.Log("整潔競賽", "修改評分紀錄", logs.ToString());
                    MsgBox.Show("資料更新成功!");
                    this.DialogResult = DialogResult.Yes;
                    this.Close();
                }
                catch (Exception ex)
                {
                    MsgBox.Show(ex.Message);
                }
            }
        }