Ejemplo n.º 1
0
        public JsonResult UpdateApply(SpecifiedTimeTreasuryUpdateViewModel UpdateModel)
        {
            MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> > result = new MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> >();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.update_Fail.GetDescription();
            var searchData = (SpecifiedTimeTreasurySearchViewModel)Cache.Get(CacheList.SpecifiedTimeTreasurySearchData);

            result = result = SpecifiedTimeTreasury.UpdateApplyData(UpdateModel, AccountController.CurrentUserId, searchData);
            if (result.RETURN_FLAG)
            {
                Cache.Invalidate(CacheList.SpecifiedTimeTreasurySearchDetailViewData);
                Cache.Set(CacheList.SpecifiedTimeTreasurySearchDetailViewData, result.Datas);
            }
            return(Json(result));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 修改申請覆核
        /// </summary>
        /// <param name="data"></param>
        /// <param name="currntUserId">目前使用者ID</param>
        /// <param name="searchData"></param>
        /// <returns></returns>
        public MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> > UpdateApplyData(SpecifiedTimeTreasuryUpdateViewModel data, string currentUserId, SpecifiedTimeTreasurySearchViewModel searchData)
        {
            var result = new MSGReturnModel <List <SpecifiedTimeTreasurySearchDetailViewModel> >();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.update_Fail.GetDescription();
            string logStr = string.Empty; //log

            //bool 登入者與申請者為同一人
            if (data.vCREATE_UID == currentUserId)
            {
                using (TreasuryDBEntities db = new TreasuryDBEntities())
                {
                    var _data = db.TREA_OPEN_REC.FirstOrDefault(x => x.TREA_REGISTER_ID == data.vTREA_REGISTER_ID);
                    //統一取系統時間
                    DateTime dt = DateTime.Now;
                    if (_data != null)
                    {
                        _data.EXEC_TIME_B      = data.vEXEC_TIME_B;
                        _data.EXEC_TIME_E      = data.vEXEC_TIME_E;
                        _data.OPEN_TREA_TIME   = data.vOPEN_TREA_TIME;
                        _data.MEMO             = data.vMEMO;
                        _data.OPEN_TREA_REASON = string.Join(";", data.vOPEN_TREA_REASON_ID.ToArray());
                        _data.APPR_STATUS      = "1";
                        _data.LAST_UPDATE_UID  = currentUserId;
                        _data.LAST_UPDATE_DT   = dt;

                        logStr += _data.modelToString(logStr);

                        var validateMessage = db.GetValidationErrors().getValidateString();
                        if (validateMessage.Any())
                        {
                            result.DESCRIPTION = validateMessage;
                        }
                        else
                        {
                            try
                            {
                                db.SaveChanges();

                                #region LOG
                                //新增LOG
                                Log log = new Log();
                                log.CFUNCTION = "修改申請";
                                log.CACTION   = "U";
                                log.CCONTENT  = logStr;
                                LogDao.Insert(log, currentUserId);
                                #endregion

                                result.RETURN_FLAG = true;
                                result.DESCRIPTION = Ref.MessageType.update_Success.GetDescription();
                            }
                            catch (DbUpdateException ex)
                            {
                                result.DESCRIPTION = ex.exceptionMessage();
                            }
                        }
                    }
                    else
                    {
                        result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription();
                    }
                }
            }
            if (result.RETURN_FLAG)
            {
                result.Datas = GetSearchDetail(searchData);
            }
            return(result);
        }