コード例 #1
0
        public int AddLeave(LeaveName data)
        {
            int count = 0;
            var query = _DbContext.leavenames.FirstOrDefault(b => b.leaveName == data.leaveName && b.enable == false);

            if (query != null)
            {
                try{
                    query.enable   = true;
                    query.timeUnit = data.timeUnit;
                    query.halfVal  = (data.timeUnit == 3? data.halfVal : false);
                    count          = _DbContext.SaveChanges();
                }catch (Exception e) {
                    count = ((MySqlException)e.InnerException).Number;
                }
            }
            else
            {
                count = 1062;
            }
            if (count == 1)
            {
                var dic   = new Dictionary <string, string> {
                };
                var opLog = new OperateLog()
                {
                    operateID = data.lastOperaAccID, active = "新增",
                    category  = "請假時間設定", createTime = definePara.dtNow()
                };
                toNameFn.AddUpLeave_convertToDic(ref dic, data);
                opLog.content = toNameFn.AddUpLeave_convertToText(dic);
                saveOperateLog(opLog);    //紀錄操作紀錄
            }
            return(count);
        }
コード例 #2
0
 public void AddUpLeave_convertToDic(ref Dictionary <string, string> Dic, LeaveName data)
 {
     data = (data == null? new LeaveName() : data);
     Dic.Add("leaveName", data.leaveName);
     Dic.Add("timeUnit", (data.timeUnit == 1? "全天":data.timeUnit == 2? "半天":"小時"));
     Dic.Add("halfVal", (data.halfVal? "半小時" : "一小時"));
 }
コード例 #3
0
 public int addUpLeave(LeaveName data)
 {
     data.lastOperaAccID = (int)loginID;
     if (data.ID == 0)
     {
         data.createTime = definePara.dtNow();
         return(Repository.AddLeave(data));
     }
     else
     {
         data.updateTime = definePara.dtNow();
         return(Repository.UpdateLeave(data));
     }
 }
コード例 #4
0
        public void AddUpApplyLeave_convertToDic(ref Dictionary <string, string> Dic, LeaveOfficeApply data)
        {
            var query = _DbContext.leavenames.FirstOrDefault(b => b.ID == data.leaveID);

            if (query == null)
            {
                query = new LeaveName();
            }
            data = (data == null? new LeaveOfficeApply() : data);
            Dic.Add("note", data.note == null? "無" : data.note);
            Dic.Add("sDate", data.startTime.ToString("yyyy-MM-dd HH:mm"));
            Dic.Add("eDate", data.endTime.ToString("yyyy-MM-dd HH:mm"));
            Dic.Add("applyDate", data.createTime.ToString("yyyy-MM-dd HH:mm"));
            Dic.Add("leaveName", query.leaveName);
        }
コード例 #5
0
        public object addUpLeave(LeaveName data)
        {
            data.lastOperaAccID = (int)loginID;
            var result = 0;

            if (data.ID == 0)
            {
                data.createTime = definePara.dtNow();
                result          = Repository.AddLeave(data);
            }
            else
            {
                data.updateTime = definePara.dtNow();
                result          = Repository.UpdateLeave(data);
            }
            return(cudAjaxResult(result));
        }
コード例 #6
0
        public int UpdateLeave(LeaveName data)
        {
            var oDic  = new Dictionary <string, string> {
            };
            var nDic  = new Dictionary <string, string> {
            };
            var opLog = new OperateLog()
            {
                operateID = data.lastOperaAccID, active = "更新",
                category  = "請假時間設定", createTime = definePara.dtNow()
            };
            int count = 0;

            try{
                var context = _DbContext.leavenames.FirstOrDefault(b => b.ID == data.ID);
                if (context != null)
                {
                    var query = _DbContext.leavenames.FirstOrDefault(b => b.leaveName == data.leaveName);
                    if (query == null || query.ID == context.ID)
                    {
                        toNameFn.AddUpLeave_convertToDic(ref oDic, context);

                        context.leaveName      = data.leaveName;
                        context.timeUnit       = data.timeUnit;
                        context.halfVal        = (data.timeUnit == 3? data.halfVal : false);
                        context.lastOperaAccID = data.lastOperaAccID;
                        context.updateTime     = data.updateTime;
                        count = _DbContext.SaveChanges();
                        if (count == 1)
                        {
                            toNameFn.AddUpLeave_convertToDic(ref nDic, context);
                            opLog.content = toNameFn.AddUpLeave_convertToText(nDic, oDic);
                            saveOperateLog(opLog);    //紀錄操作紀錄
                        }
                    }
                    else
                    {
                        count = 1062;
                    }
                }
            }catch (Exception e) {
                count = ((MySqlException)e.InnerException).Number;
            }
            return(count);
        }
コード例 #7
0
        public void initLeaveNames()
        {
            var defaultLeaveName = definePara.getDefaultLeaveName();
            var query            = _DbContext.leavenames.Select(b => b.leaveName).ToArray();
            var noExist          = defaultLeaveName.Where(b => !query.Contains(b)).ToArray();

            for (var i = 0; i < noExist.Length; i++)
            {
                var id   = Array.IndexOf(defaultLeaveName, noExist[i]) + 1;
                var data = new LeaveName()
                {
                    ID         = id, leaveName = noExist[i], timeUnit = 1, enable = false,
                    createTime = definePara.dtNow(), updateTime = definePara.dtNow()
                };
                _DbContext.leavenames.Add(data);
                _DbContext.SaveChanges();
            }
        }