public static object GetCtpyLimitOptions(SessionInfo sessioninfo) { try { CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness(); //Get data from database var ctpylimit = _counterpartyBusiness.GetCounterpartyLimitAll(); var ctpy = _counterpartyBusiness.GetCounterpartyAll(); var options = from cl in ctpylimit join ct in ctpy on cl.CTPY_ID equals ct.ID select new { DisplayText = ct.SNAME + " : " + cl.MA_LIMIT.LABEL , SortOrder = cl.MA_LIMIT.INDEX , Value = cl.ID }; //Return result to jTable return(new { Result = "OK", Options = options.OrderBy(t => t.DisplayText).ThenBy(t => t.SortOrder).Select(c => new { DisplayText = c.DisplayText, Value = c.Value }) }); } catch (Exception ex) { return(new { Result = "ERROR", Message = ex.Message }); } }
public List <LimitAuditReportModel> GetLimitAuditReport(SessionInfo sessionInfo, string strLogDatefrom, string strLogDateto, string strCtpy, string strCountry, string strEvent) { try { DateTime dteReportfrom; DateTime dteReportto; Guid guCtpyID = Guid.Empty; Guid guCountryID = Guid.Empty; LogBusiness _logBusiness = new LogBusiness(); CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness(); CountryBusiness _countryBusiness = new CountryBusiness(); UserBusiness _userBusiness = new UserBusiness(); var log = _logBusiness.GetLogAll().Where(l => l.EVENT == LimitLogEvent.LIMIT_AUDIT.ToString() || l.EVENT == LimitLogEvent.TEMP_LIMIT_AUDIT.ToString() || l.EVENT == LimitLogEvent.COUNTRY_LIMIY_AUDIT.ToString() || l.EVENT == LimitLogEvent.TEMP_COUNTRY_LIMIT_AUDIT.ToString()).AsQueryable(); var ctpyLimit = _counterpartyBusiness.GetCounterpartyLimitAll().AsQueryable(); var ctpys = _counterpartyBusiness.GetCounterpartyAll().AsQueryable(); var countrys = _countryBusiness.GetCountryAll().AsQueryable(); var users = _userBusiness.GetAll().AsQueryable(); if (String.IsNullOrEmpty(strLogDatefrom)) { throw this.CreateException(new Exception(), "Please input start log date."); } else if (!DateTime.TryParseExact(strLogDatefrom, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportfrom)) { throw this.CreateException(new Exception(), "Invalid start log date."); } else { dteReportfrom = DateTime.ParseExact(strLogDatefrom, "dd/MM/yyyy", null); } if (String.IsNullOrEmpty(strLogDateto)) { throw this.CreateException(new Exception(), "Please input end log date."); } else if (!DateTime.TryParseExact(strLogDateto, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportto)) { throw this.CreateException(new Exception(), "Invalid end log date."); } else { dteReportto = DateTime.ParseExact(strLogDateto, "dd/MM/yyyy", null); } if (dteReportto < dteReportfrom) { throw this.CreateException(new Exception(), "Start log date must before end log date."); } var limits = from limit in ctpyLimit join ctpy in ctpys on limit.CTPY_ID equals ctpy.ID select new { LIMIT_ID = limit.ID, CTPY_ID = ctpy.ID, SNAME = ctpy.SNAME, LIMIT = limit.MA_LIMIT.LABEL }; log = log.Where(l => l.LOG_DATE.Date >= dteReportfrom.Date && l.LOG_DATE.Date <= dteReportto.Date); if (strEvent != "-1") { log = log.Where(p => p.EVENT == strEvent); } var limitAudits = from l in log join user in users on l.LOG.INSERTBYUSERID equals user.ID join c in limits on l.RECORD_ID equals c.LIMIT_ID into templimit from sublimit in templimit.DefaultIfEmpty() join country in countrys on l.RECORD_ID equals country.ID into tempcountry from subcountry in tempcountry.DefaultIfEmpty() orderby l.LOG_DATE select new LimitAuditReportModel { ENTITY = sublimit != null ? sublimit.SNAME : subcountry != null ? subcountry.LABEL : "", ENTITY_ID = sublimit != null ? sublimit.CTPY_ID : (subcountry != null ? subcountry.ID : Guid.Empty), LIMIT = (l.EVENT.Contains("TEMP") ? "TEMP-" : "") + (sublimit != null ? sublimit.LIMIT : "COUNTRY-LIMIT"), //sublimit != null ? sublimit.LIMIT : "Country Limit", USER = user.USERCODE, LOG_DATE = l.LOG_DATE, LOG_DATE_STR = l.LOG_DATE.ToString("dd-MMM-yyyy HH:mm"), DETAIL = l.LOG_DETAIL }; if (Guid.TryParse(strCtpy, out guCtpyID)) { guCtpyID = Guid.Parse(strCtpy); limitAudits = limitAudits.Where(p => p.ENTITY_ID == guCtpyID); } if (Guid.TryParse(strCountry, out guCountryID)) { guCountryID = Guid.Parse(strCountry); limitAudits = limitAudits.Where(t => t.ENTITY_ID == guCountryID); } return(limitAudits.ToList()); } catch (DataServicesException ex) { throw this.CreateException(ex, null); } }
public List<LimitAuditReportModel> GetLimitAuditReport(SessionInfo sessionInfo, string strLogDatefrom, string strLogDateto, string strCtpy, string strCountry, string strEvent) { try { DateTime dteReportfrom; DateTime dteReportto; Guid guCtpyID = Guid.Empty; Guid guCountryID = Guid.Empty; LogBusiness _logBusiness = new LogBusiness(); CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness(); CountryBusiness _countryBusiness = new CountryBusiness(); UserBusiness _userBusiness = new UserBusiness(); var log = _logBusiness.GetLogAll().Where(l => l.EVENT == LimitLogEvent.LIMIT_AUDIT.ToString() || l.EVENT == LimitLogEvent.TEMP_LIMIT_AUDIT.ToString() || l.EVENT == LimitLogEvent.COUNTRY_LIMIY_AUDIT.ToString() || l.EVENT == LimitLogEvent.TEMP_COUNTRY_LIMIT_AUDIT.ToString()).AsQueryable(); var ctpyLimit = _counterpartyBusiness.GetCounterpartyLimitAll().AsQueryable(); var ctpys = _counterpartyBusiness.GetCounterpartyAll().AsQueryable(); var countrys = _countryBusiness.GetCountryAll().AsQueryable(); var users = _userBusiness.GetAll().AsQueryable(); if (String.IsNullOrEmpty(strLogDatefrom)) throw this.CreateException(new Exception(), "Please input start log date."); else if (!DateTime.TryParseExact(strLogDatefrom, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportfrom)) throw this.CreateException(new Exception(), "Invalid start log date."); else dteReportfrom = DateTime.ParseExact(strLogDatefrom, "dd/MM/yyyy", null); if (String.IsNullOrEmpty(strLogDateto)) throw this.CreateException(new Exception(), "Please input end log date."); else if (!DateTime.TryParseExact(strLogDateto, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportto)) throw this.CreateException(new Exception(), "Invalid end log date."); else dteReportto = DateTime.ParseExact(strLogDateto, "dd/MM/yyyy", null); if (dteReportto < dteReportfrom) throw this.CreateException(new Exception(), "Start log date must before end log date."); var limits = from limit in ctpyLimit join ctpy in ctpys on limit.CTPY_ID equals ctpy.ID select new { LIMIT_ID = limit.ID, CTPY_ID = ctpy.ID, SNAME = ctpy.SNAME, LIMIT = limit.MA_LIMIT.LABEL }; log = log.Where(l => l.LOG_DATE.Date >= dteReportfrom.Date && l.LOG_DATE.Date <= dteReportto.Date); if (strEvent != "-1") log = log.Where(p => p.EVENT == strEvent); var limitAudits = from l in log join user in users on l.LOG.INSERTBYUSERID equals user.ID join c in limits on l.RECORD_ID equals c.LIMIT_ID into templimit from sublimit in templimit.DefaultIfEmpty() join country in countrys on l.RECORD_ID equals country.ID into tempcountry from subcountry in tempcountry.DefaultIfEmpty() orderby l.LOG_DATE select new LimitAuditReportModel { ENTITY = sublimit != null ? sublimit.SNAME : subcountry != null ? subcountry.LABEL : "", ENTITY_ID = sublimit != null ? sublimit.CTPY_ID : (subcountry != null ? subcountry.ID : Guid.Empty), LIMIT = (l.EVENT.Contains("TEMP") ? "TEMP-" : "") + (sublimit != null ? sublimit.LIMIT : "COUNTRY-LIMIT"), //sublimit != null ? sublimit.LIMIT : "Country Limit", USER = user.USERCODE, LOG_DATE = l.LOG_DATE, LOG_DATE_STR = l.LOG_DATE.ToString("dd-MMM-yyyy HH:mm"), DETAIL = l.LOG_DETAIL }; if (Guid.TryParse(strCtpy, out guCtpyID)) { guCtpyID = Guid.Parse(strCtpy); limitAudits = limitAudits.Where(p => p.ENTITY_ID == guCtpyID); } if (Guid.TryParse(strCountry, out guCountryID)) { guCountryID = Guid.Parse(strCountry); limitAudits = limitAudits.Where(t => t.ENTITY_ID == guCountryID); } return limitAudits.ToList(); } catch (DataServicesException ex) { throw this.CreateException(ex, null); } }
public static object GetCtpyLimitOptions(SessionInfo sessioninfo) { try { CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness(); //Get data from database var ctpylimit = _counterpartyBusiness.GetCounterpartyLimitAll(); var ctpy = _counterpartyBusiness.GetCounterpartyAll(); var options = from cl in ctpylimit join ct in ctpy on cl.CTPY_ID equals ct.ID select new { DisplayText = ct.SNAME + " : " + cl.MA_LIMIT.LABEL , SortOrder = cl.MA_LIMIT.INDEX , Value = cl.ID }; //Return result to jTable return new { Result = "OK", Options = options.OrderBy(t => t.DisplayText).ThenBy(t => t.SortOrder).Select(c => new { DisplayText = c.DisplayText, Value = c.Value }) }; } catch (Exception ex) { return new { Result = "ERROR", Message = ex.Message }; } }