/// <summary> /// 锁定账户余额 /// </summary> /// <param name="accountId">账户ID</param> /// <param name="mark">操作描述说明</param> /// <param name="operId">操作ID</param> /// <param name="subjecId">操作子系统编码</param> /// <param name="balance">余额</param> /// <param name="message">反回信息</param> /// <returns></returns> public static bool UnBlockAccountBalance(int accountId, string operId, string mark, string subjecCode, decimal balance, out string message) { message = ""; bool retFlag = false; using (AccountDataSourceDataContext adsdc = new AccountDataSourceDataContext()) { DbTransaction tran = adsdc.Connection.BeginTransaction(); Base_t_AccountInfo bai = new Base_t_AccountInfo(); bai = adsdc.Base_t_AccountInfo.FirstOrDefault(p => p.id == accountId); if (bai != null) { try { if (bai.blockBalance < balance) { message = "账户可解锁余额不足,请确定解锁金额是否超限"; retFlag = false; } else { bai.blockBalance = bai.blockBalance - balance; adsdc.SubmitChanges(); retFlag = true; } } catch (Exception ex) { message = ex.Message; retFlag = false; } } else { message = "该账户不存在!"; retFlag = false; } //如果锁定成功,插入流水记录 if (retFlag) { try { Base_t_AccountAuditInfoEntity baaie = new Base_t_AccountAuditInfoEntity(); baaie.CreateTime = DateTime.Now; baaie.CreateUser = operId; baaie.Type = 1; baaie.AccountId = accountId; baaie.OpTime = DateTime.Now; baaie.OpUser = operId; baaie.Remark = mark; baaie.SubjectCode = subjecCode; //插入流水信息记录 InsertAuditOperBalanceInfo(baaie, out message); retFlag = true; tran.Commit(); } catch (Exception ex) { tran.Rollback(); message = ex.Message; retFlag = true; } } return retFlag; } }
/// <summary> /// 根据账户ID和时间查询账户待审核信息 /// </summary> /// <param name="AccountAuditInfo">账户实例</param> /// <param name="starTime">起始时间</param> /// <param name="endTime">结束时间</param> /// <param name="pageSize">页面大小</param> /// <param name="pageNumber">页码</param> /// <param name="recordCount">总记录数</param> /// <returns></returns> public static List<Base_t_AccountAuditInfoEntity> SelectAccountAuditInfoByTime(Base_t_AccountAuditInfoEntity AccountAuditInfo, DateTime starTime, DateTime endTime, int pageSize, int pageNumber, out int recordCount) { recordCount = 10; using (AccountDataSourceDataContext adsdc = new AccountDataSourceDataContext()) { List<Base_t_AccountAuditInfoEntity> baaieList = new List<Base_t_AccountAuditInfoEntity>(); try { var accountaudit = PredicateExtensions.True<Base_t_AccountAuditInfo>(); if (!string.IsNullOrEmpty(AccountAuditInfo.CustmerCode)) { accountaudit = accountaudit.And(i => i.custmerCode.IndexOf(AccountAuditInfo.CustmerCode) != -1); } if (!string.IsNullOrEmpty(AccountAuditInfo.CustmerName)) { accountaudit = accountaudit.And(i => i.custmerName.IndexOf(AccountAuditInfo.CustmerName) != -1); } if (starTime.Date != DateTime.MinValue) { accountaudit = accountaudit.And(i => i.createTime >= starTime.Date); } if (endTime.Date != DateTime.MinValue) { accountaudit = accountaudit.And(i => i.createTime <= endTime.Date); } accountaudit = accountaudit.And(i => i.status == false); var results = from c in adsdc.Base_t_AccountAuditInfo.Where(accountaudit) select new Base_t_AccountAuditInfoEntity { AccountId=Convert.ToInt32(c.accountId), CreateTime=c.createTime, CreateUser=c.createUser, CustmerCode=c.custmerCode, CustmerName=c.custmerName, CustmerType=Convert.ToInt32(c.custmerType), Direction=c.direction, Id=c.id, OpBalance=Convert.ToInt32(c.opBalance), OpTime=c.opTime, OpUser=c.opUser, RefId=c.refId, Remark=c.remark, Status=Convert.ToBoolean(c.status), SubjectCode=c.subjectCode, Type=Convert.ToInt32(c.type) }; List<Base_t_AccountAuditInfoEntity> baaiList = results.OrderByDescending(c => c.CreateTime).Skip(pageSize * (pageNumber - 1)).Take(pageSize).ToList(); return baaieList; } catch (System.Exception ex) { recordCount = 0; return null; } } }
/// <summary> /// 查询待审核账户余额申请记录 /// </summary> /// <param name="auditId"></param> /// <returns></returns> public static Base_t_AccountAuditInfoEntity SelectAccountAuditInfo(int auditId) { using (AccountDataSourceDataContext adsdc = new AccountDataSourceDataContext()) { Base_t_AccountAuditInfo baai = new Base_t_AccountAuditInfo(); Base_t_AccountAuditInfoEntity baaie = new Base_t_AccountAuditInfoEntity(); baai = adsdc.Base_t_AccountAuditInfo.FirstOrDefault(p => p.id == auditId); if (baai != null) { PublicFunction.ObjectCopyTo(baai, baaie); } else return null; return baaie; } }
/// <summary> /// 新增待审核操作账户余额信息 /// </summary> /// <param name="baaie"></param> /// <param name="message"></param> /// <returns></returns> public static bool InsertAuditOperBalanceInfo(Base_t_AccountAuditInfoEntity baaie, out string message) { bool retFlag = false; Base_t_AccountAuditInfo baai = new Base_t_AccountAuditInfo(); //进行实体转换 if(baaie != null) PublicFunction.ObjectCopyTo(baaie, baai); AccountDataSourceDataContext adsdc = new AccountDataSourceDataContext(); try { if (baai != null) { adsdc.Base_t_AccountAuditInfo.InsertOnSubmit(baai); adsdc.SubmitChanges(); } retFlag = true; message = "新增待审核信息成功"; //返回账户ID } catch (Exception ex) { retFlag = false; message = ex.Message; } return retFlag; }
/// <summary> /// 新增待审核操作账户余额信息 /// </summary> /// <param name="baaie"></param> /// <param name="message"></param> /// <returns></returns> public bool InsertAuditOperBalanceInfo(Base_t_AccountAuditInfoEntity baaie, out string message) { return AccountBusiness.InsertAuditOperBalanceInfo(baaie, out message); }
/// <summary> /// 根据账户ID和时间查询账户待审核信息 /// </summary> /// <param name="AccountAuditInfo">账户实例</param> /// <param name="starTime">起始时间</param> /// <param name="endTime">结束时间</param> /// <param name="pageSize">页面大小</param> /// <param name="pageNumber">页码</param> /// <param name="recordCount">总记录数</param> /// <returns></returns> public List<Base_t_AccountAuditInfoEntity> SelectAccountAuditInfoByTime(Base_t_AccountAuditInfoEntity AccountAuditInfo, DateTime starTime, DateTime endTime, int pageSize, int pageNumber, out int recordCount) { return AccountBusiness.SelectAccountAuditInfoByTime(AccountAuditInfo, starTime, endTime, pageSize, pageNumber, out recordCount); }