/// <summary> /// get SysCode by CodeType /// </summary> /// <param name="isAll"></param> /// <returns></returns> public List <SelectOption> GetCompList(bool isAll = false) { var result = new List <SelectOption>(); using (dbFGLEntities db = new dbFGLEntities()) { if (isAll) { result.Add(new SelectOption() { Text = "All", Value = "All" }); } result.AddRange(db.RCT_COMPANY_CODE.AsNoTracking() .Where(x => x.is_disabled == "N") .AsEnumerable() .Select(x => new SelectOption() { Value = x.company_code, Text = x.company_name, Code = x.company_vat_no }).ToList()); } return(result); }
/// <summary> /// get SysCode /// </summary> /// /// <param name="sysCd"></param> /// <param name="codeType"></param> /// <param name="isAll"></param> /// <returns></returns> public List <SelectOption> GetSysCode(string sysCd, string codeType, bool isAll = false) { var result = new List <SelectOption>(); if (sysCd.IsNullOrWhiteSpace() || codeType.IsNullOrWhiteSpace()) { return(result); } using (dbFGLEntities db = new dbFGLEntities()) { if (isAll) { result.Add(new SelectOption() { Text = "All", Value = "All" }); } result.AddRange(db.SYS_CODE.AsNoTracking() .Where(x => x.SYS_CD == sysCd) .Where(x => x.CODE_TYPE == codeType) .OrderBy(x => x.ISORTBY) .AsEnumerable() .Select(x => new SelectOption() { Value = x.CODE, Text = x.CODE_VALUE }).ToList()); } return(result); }
/// <summary> /// 檢核使用者是否有使用特定功能的權限 /// </summary> /// <param name="userId"></param> /// <param name="funcId"></param> /// <returns></returns> public String[] qryOpScope(string sysCd, string userId, string funcId) { String[] result = new string[] { }; using (dbFGLEntities db = new dbFGLEntities()) { //AwarkMainDetailModel awarkMainDetalModel = new AwarkMainDetailModel(); var rows = (from userRole in db.CODE_USER_ROLE join role in db.CODE_ROLE on userRole.ROLE_ID equals role.ROLE_ID join roleFunc in db.CODE_ROLE_FUNC on userRole.ROLE_ID.Trim() equals roleFunc.ROLE_ID.Trim() join func in db.CODE_FUNC on roleFunc.FUNC_ID.Trim() equals func.FUNC_ID.Trim() where userRole.USER_ID == userId & func.SYS_CD == sysCd & func.FUNC_URL.StartsWith(funcId) & func.IS_DISABLED.Trim() == "N" & role.IS_DISABLED.Trim() == "N" select new //AwarkMainDetailModel { roleId = role.ROLE_ID, funcName = func.FUNC_NAME }).FirstOrDefault(); if (rows != null) { result = new String[] { rows.roleId.Trim(), rows.funcName.Trim() }; } return(result); } }
public List <RctCompDetailViewModel> GetSearchData(RctCompSearchViewModel searchModel) { List <RctCompDetailViewModel> result = new List <RctCompDetailViewModel>(); using (dbFGLEntities db = new dbFGLEntities()) { var dbRCT_COMPANY_RELATION = db.RCT_COMPANY_RELATION.AsNoTracking(); var dbRCT_COMPANY_RELATION_HIS = db.RCT_COMPANY_RELATION_HIS.AsNoTracking(); var dbRCT_COMPANY_CODE = db.RCT_COMPANY_CODE.AsNoTracking(); var dbRct_type = db.SYS_CODE.AsNoTracking() .Where(x => x.SYS_CD == "RCT") .Where(x => x.CODE_TYPE == "RECIEPT_TYPE").ToList(); var dbPayment = db.SYS_CODE.AsNoTracking() .Where(x => x.SYS_CD == "RCT") .Where(x => x.CODE_TYPE == "PAYMENT_TYPE").ToList(); var dbStatus = db.SYS_CODE.AsNoTracking() .Where(x => x.SYS_CD == "RCT") .Where(x => x.CODE_TYPE == "DATA_STATUS").ToList(); var dbAction = db.SYS_CODE.AsNoTracking() .Where(x => x.SYS_CD == "RCT") .Where(x => x.CODE_TYPE == "EXEC_ACTION").ToList(); var dbIsDisabled = db.SYS_CODE.AsNoTracking() .Where(x => x.SYS_CD == "RCT") .Where(x => x.CODE_TYPE == "IS_DISABLED").ToList(); result = dbRCT_COMPANY_RELATION .Where(x => x.reciept_type == searchModel.vRct_type_code, searchModel.vRct_type_code != "All") .Where(x => x.company_code == searchModel.vCompany_code, searchModel.vCompany_code != "All") .Where(x => x.is_disabled == searchModel.vIsDisabled_code, searchModel.vIsDisabled_code != "All") .AsEnumerable() .Select(x => new RctCompDetailViewModel { vRelation_id = x.relation_id, vRct_type_code = x.reciept_type, vRct_type_name = dbRct_type.FirstOrDefault(y => y.CODE == x.reciept_type)?.CODE_VALUE, vCompany_code = x.company_code, vCompany_name = dbRCT_COMPANY_CODE.FirstOrDefault(y => y.company_code == x.company_code)?.company_name, vCompany_vat_no = dbRCT_COMPANY_CODE.FirstOrDefault(y => y.company_code == x.company_code)?.company_vat_no, vPayment_code = x.payment_type, vPayment_value = dbPayment.FirstOrDefault(y => y.CODE == x.payment_type)?.CODE_VALUE, vCurrency_code = x.currency_code, vData_status_code = x.data_status, vData_status_value = dbStatus.FirstOrDefault(y => y.CODE == x.data_status)?.CODE_VALUE, vExec_action_code = dbRCT_COMPANY_RELATION_HIS.FirstOrDefault(y => y.b_reciept_type == x.reciept_type && y.b_company_code == x.company_code && y.b_payment_type == x.payment_type && y.b_currency_code == x.currency_code)?.exec_action, vExec_action_value = dbAction.FirstOrDefault(z => z.CODE == dbRCT_COMPANY_RELATION_HIS.FirstOrDefault(y => y.b_reciept_type == x.reciept_type && y.b_company_code == x.company_code && y.b_payment_type == x.payment_type && y.b_currency_code == x.currency_code)?.exec_action)?.CODE_VALUE, vIsDisabled_code = x.is_disabled, vIsDisabled_value = dbIsDisabled.FirstOrDefault(y => y.CODE == x.is_disabled)?.CODE_VALUE, vUpdateTime = x.update_datetime }).ToList(); } return(result); }
public int qrySeqNo(string sysCd, string cType, string cPreCode) { int intseq = 0; int cnt = 0; //using (new TransactionScope( // TransactionScopeOption.Required, // new TransactionOptions // { // IsolationLevel = IsolationLevel.ReadUncommitted // })) //{ using (dbFGLEntities db = new dbFGLEntities()) { try { if ("".Equals(cPreCode)) { SYS_SEQ sysDeq = db.SYS_SEQ.Where(x => x.SYS_CD == sysCd & x.SEQ_TYPE == cType).FirstOrDefault <SYS_SEQ>(); //sysDeq.SYS_CD = sysCd; if (sysDeq == null) { sysDeq = new SYS_SEQ(); intseq = 1; sysDeq.SYS_CD = sysCd; sysDeq.SEQ_TYPE = cType; sysDeq.PRECODE = ""; sysDeq.CURR_VALUE = intseq + 1; db.SYS_SEQ.Add(sysDeq); cnt = db.SaveChanges(); } else { intseq = sysDeq.CURR_VALUE; sysDeq.CURR_VALUE = intseq + 1; cnt = db.SaveChanges(); } } else { SYS_SEQ sysDeq = db.SYS_SEQ.Where(x => x.SYS_CD == sysCd & x.SEQ_TYPE == cType & x.PRECODE == cPreCode).FirstOrDefault <SYS_SEQ>(); if (sysDeq == null) { sysDeq = new SYS_SEQ(); intseq = 1; sysDeq.SYS_CD = sysCd; sysDeq.SEQ_TYPE = cType; sysDeq.PRECODE = cPreCode; sysDeq.CURR_VALUE = intseq + 1; db.SYS_SEQ.Add(sysDeq); cnt = db.SaveChanges(); } else { intseq = sysDeq.CURR_VALUE; sysDeq.CURR_VALUE = intseq + 1; cnt = db.SaveChanges(); } } return(intseq); } catch (Exception e) { throw e; } } //} }
public MSGReturnModel <string> ApplyCompData(List <RctCompDetailViewModel> saveData, RctCompSearchViewModel searchModel) { MSGReturnModel <string> result = new MSGReturnModel <string>(); result.RETURN_FLAG = false; DateTime now = DateTime.Now; string _aply_no = string.Empty; try { if (saveData.Any()) { using (dbFGLEntities db = new dbFGLEntities()) { //取得流水號 SysSeqDao sysSeqDao = new SysSeqDao(); string qPreCode = DateUtil.getCurChtDateTime(now.Year.ToString().Length); var cId = sysSeqDao.qrySeqNo("RCT", "M1", qPreCode).ToString().PadLeft(3, '0'); _aply_no = $@"M1{qPreCode}{cId}";//M1 + 系統日期YYYMMDD(民國年) + 3碼流水號 foreach (var rowData in saveData) { var _relationId = string.Empty; var _RCR = new RCT_COMPANY_RELATION(); #region 收據類別與公司別主檔 //判斷執行功能 switch (rowData.vExec_action_code) { case "A": //新增 _relationId = ""; break; case "U": //修改 _RCR = db.RCT_COMPANY_RELATION.FirstOrDefault(y => y.relation_id == rowData.vRelation_id); if (_RCR.update_datetime != null && _RCR.update_datetime > rowData.vUpdateTime) { result.DESCRIPTION = Ref.MessageType.already_Change.GetDescription(); return(result); } _relationId = rowData.vRelation_id; _RCR.reciept_type = rowData.vRct_type_code; _RCR.company_code = rowData.vCompany_code; _RCR.payment_type = rowData.vPayment_code; _RCR.currency_code = rowData.vCurrency_code; _RCR.update_datetime = now; _RCR.update_id = searchModel.vCurrent_Uid; _RCR.data_status = "2"; //凍結中 //logStr += "|"; //logStr += _RCR.modelToString(); break; default: break; } #endregion #region 收據類別與公司別異動檔 switch (rowData.vExec_action_code) { case "A": //新增 var _RCRH = new RCT_COMPANY_RELATION_HIS() { aply_no = _aply_no, relation_id = _relationId, exec_action = rowData.vExec_action_code, a_reciept_type = rowData.vRct_type_code, a_company_code = rowData.vCompany_code, a_payment_type = rowData.vPayment_code, a_currency_code = rowData.vCurrency_code, a_is_disabled = rowData.vIsDisabled_code, apply_status = "1", //表單申請 apply_id = searchModel.vCurrent_Uid, apply_datetime = now }; db.RCT_COMPANY_RELATION_HIS.Add(_RCRH); break; case "U": //修改 var db_RCR = db.RCT_COMPANY_RELATION.AsNoTracking().FirstOrDefault(y => y.relation_id == rowData.vRelation_id); if (db_RCR != null) { var _RCRHU = new RCT_COMPANY_RELATION_HIS() { aply_no = _aply_no, relation_id = rowData.vRelation_id, exec_action = rowData.vExec_action_code, b_reciept_type = db_RCR.reciept_type, b_company_code = db_RCR.company_code, b_payment_type = db_RCR.payment_type, b_currency_code = db_RCR.currency_code, b_is_disabled = db_RCR.is_disabled, a_reciept_type = rowData.vRct_type_code, a_company_code = rowData.vCompany_code, a_payment_type = rowData.vPayment_code, a_currency_code = rowData.vCurrency_code, a_is_disabled = rowData.vIsDisabled_code, apply_datetime = now, apply_id = searchModel.vCurrent_Uid, apply_status = "1" //表單申請 }; db.RCT_COMPANY_RELATION_HIS.Add(_RCRHU); //logStr += "|"; //logStr += _RCRHU.modelToString(); } break; } #endregion } 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 = "A"; //log.CCONTENT = logStr; //LogDao.Insert(log, searchModel.vCurrent_Uid); #endregion result.RETURN_FLAG = true; result.DESCRIPTION = Ref.MessageType.Apply_Audit_Success.GetDescription(null, $@"單號為{_aply_no}"); } catch (DbUpdateException ex) { result.DESCRIPTION = ex.exceptionMessage(); } } } } else { result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription(); } } catch (Exception ex) { result.DESCRIPTION = ex.exceptionMessage(); } return(result); }