/// <summary> /// select items by maturity_dt when the expried checkbox is checked /// </summary> /// <param name="reportPara"></param> /// <returns></returns> private IEnumerable <OpenMarketRepo> GetOpenMarketRepoIncludeExpired(DetailDataReportParams reportPara) { using (var VAVDB = new OpenMarketEntities()) { return((from r in VAVDB.V_OPENMARKET where DateTime.Compare((DateTime)r.MATURITY_DT, (DateTime)reportPara.StartDate) > 0 && DateTime.Compare((DateTime)r.MATURITY_DT, (DateTime)reportPara.EndDate) < 0 select new OpenMarketRepo { IsSumItem = false, Code = r.RIC, Date = r.MATURITY_DT, IssueDate = r.ISSUEDATE, MaturityDate = r.MATURITY_DT, Direction = "", OperationType = "IE", AssetId = r.ASSET_ID, Volume = (double)r.VOLUME, Amount = (double)r.VOLUME, PirceRate = (double)r.YIELD, RefRate = (double)r.YIELD, OperationTerm = "", Term = (int)r.TERM, TermEn = r.TERM_EN, TermCn = r.TERM_CN, Category = "" }).ToList()); } }
/// <summary> /// Get data used by open market report /// </summary> /// <returns></returns> public IEnumerable <OpenMarketRepo> GetOpenMarketRepo(DetailDataReportParams reportPara, GlobalValueParams globalValues) { IEnumerable <OpenMarketRepo> openMarketRepo = OpenMarketReportRepository.GetOpenMarketRepo(reportPara); IEnumerable <OpenMarketRepo> repoRet = SetOptionType(reportPara, openMarketRepo, globalValues); return(repoRet); }
public IEnumerable <OpenMarketRepo> GetOpenMarketRepo(DetailDataReportParams reportPara) { #region List <OpenMarketRepo> repoRet = new List <OpenMarketRepo>(); List <OpenMarketRepo> excludeExpiredRepo = GetOpenMarketRepoExcludeExpired(reportPara).ToList(); if (reportPara.IncludeExpired) { IEnumerable <OpenMarketRepo> includeExpiredRepo = GetOpenMarketRepoIncludeExpired(reportPara); foreach (OpenMarketRepo item in excludeExpiredRepo) { repoRet.Add(item); } foreach (OpenMarketRepo item in includeExpiredRepo) { repoRet.Add(item); } return(SetReportOption(repoRet)); } #endregion return(SetReportOption(excludeExpiredRepo)); }
/// <summary> /// set every item's OptionType in openMarketRepo /// </summary> /// <param name="type"> the type that seleceted from the drop down list</param> /// <param name="repo">the object that returned from the service layer</param> /// <returns></returns> public List <OpenMarketRepo> SetOptionType(DetailDataReportParams reportPara, IEnumerable <OpenMarketRepo> repo, GlobalValueParams globalValues) { List <OpenMarketRepo> repoRet = new List <OpenMarketRepo>(); var repoList = repo.Where(r => r.IssueDate != null).Select(r => r).ToList(); foreach (OpenMarketRepo item in repoList) { string typeTemp = item.OperationType; int flag = 0; switch (item.OperationType) { case ConstValues.Type_CBankBill: item.Category = globalValues.Type_CBankBill; item.OperationType = globalValues.Type_CBankBill; flag = -1; break; case ConstValues.Type_CBankBillIE: item.Category = globalValues.Type_CBankBill; item.OperationType = globalValues.Type_CBankBillIE; flag = 1; break; case ConstValues.Type_FMD: item.Category = globalValues.Type_FMD; item.OperationType = globalValues.Type_FMD; flag = 1; break; case ConstValues.Type_FMDIE: item.Category = globalValues.Type_FMD; item.OperationType = globalValues.Type_FMDIE; flag = -1; break; case ConstValues.Type_MLF: item.Category = globalValues.Type_MLF; item.OperationType = globalValues.Type_MLF; flag = 1; break; case ConstValues.Type_MLFIE: item.Category = globalValues.Type_MLFIE; item.OperationType = globalValues.Type_MLFIE; flag = -1; break; case ConstValues.Type_ReverseRepo: item.Category = globalValues.Type_ReverseRepo; item.OperationType = globalValues.Type_ReverseRepo; flag = 1; break; case ConstValues.Type_ReverseRepoIE: item.Category = globalValues.Type_ReverseRepo; item.OperationType = globalValues.Type_ReverseRepoIE; flag = -1; break; case ConstValues.Type_Repo: item.Category = globalValues.Type_Repo; item.OperationType = globalValues.Type_Repo; flag = -1; break; case ConstValues.Type_RepoIE: item.Category = globalValues.Type_Repo; item.OperationType = globalValues.Type_RepoIE; flag = 1; break; default: break; } SetOptionDirection(item, flag, globalValues); SetOptionTerm(globalValues.CurrentContext, item); item.Volume = SwitchAmountUnit(reportPara.Unit, item.Volume); item.Amount = SwitchAmountUnit(reportPara.Unit, item.Amount); item.Term = Convert.ToInt32(((DateTime)item.MaturityDate).Subtract((DateTime)item.IssueDate).Duration().Days); if (reportPara.Type == ConstValues.Type_All) { repoRet.Add(item); } else if (typeTemp == reportPara.Type || typeTemp == reportPara.Type + "IE") { repoRet.Add(item); } else if (reportPara.Type.Split(',').Contains(typeTemp.Replace("IE", ""))) { repoRet.Add(item); } } return(repoRet); }