public IQueryable<BaseDto> GetTL_EventLog(DateTime start, DateTime end, TABLE_SEQUENCE sequence, string institutionID, string uri) { if (sequence == TABLE_SEQUENCE.FILES_PPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.ProgramID == PROGRAM_ID.PPASS && x.URIType == "sFTP") .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new FilesDto { ID = g.FirstOrDefault().ID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select (int)n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.ShortName).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Requests = g.Where(r => r.UniqueParticipantId != null).Count(), Uri = g.FirstOrDefault().URI, IufRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.IUF).Count(), FufRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.FUF).Count(), FcfRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.FCF).Count(), IcfRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.ICF).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count(), }); return entries; } else if (sequence == TABLE_SEQUENCE.FILES_UPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.ProgramID == PROGRAM_ID.UPASS && x.URIType == "sFTP") .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new FilesDto { DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select (int)n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.ShortName).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Requests = g.Where(r => r.UniqueParticipantId != null).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count() }); return entries; } else if (sequence == TABLE_SEQUENCE.FILES_CURRENT_FILE_STREAM) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && (x.URI.ToUpper().Contains("IUF_") || x.URI.ToUpper().Contains("ICF_") || x.URI.ToUpper().Contains("FUF_") || x.URI.ToUpper().Contains("FCF_") || x.URI.Contains(PROGRAM_ID.UPASS))) .GroupBy(x => new { x.ProgramID, x.InstitutionID, x.Category, x.EventID }) .Select(g => new FilesDto { ID = g.FirstOrDefault().ID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select (int)n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.ShortName).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.Key.Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.Key.EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Requests = g.Where(r => r.RequestTxID != null || r.UniqueParticipantId != null).Count(), Uri = g.FirstOrDefault().URI, RequestTxID = g.FirstOrDefault().RequestTxID, UniqueParticipantId = g.FirstOrDefault().UniqueParticipantId, Action = g.FirstOrDefault().Action, ReasonCode = g.FirstOrDefault().ReasonCode, TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count(), XmlData = g.FirstOrDefault().XmlData }); return entries; } else if (sequence == TABLE_SEQUENCE.CUBICWS_PPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.ProgramID == PROGRAM_ID.PPASS && x.URIType == "API") .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new CubicwsDto { TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select (int)n.OrganizationId).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), CardSerialNumber = g.FirstOrDefault().CardSerialNumber, NewCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.NEW_CARD).Count(), TerminateCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.TERMINATE_CARD).Count(), ReplacementCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.REPLACEMENT_CARD).Count(), SuspendCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.SUSPEND_CARD).Count(), ResumeCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.REPLACEMENT_CARD).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR || e.Level == EVENT_STATUS.WARNING).Count(), Level = g.FirstOrDefault().Level, ProcessErrorID = g.FirstOrDefault().ProcessErrorID, XmlData = g.FirstOrDefault().XmlData }); return entries; } else if (sequence == TABLE_SEQUENCE.CUBICWS_UPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && //x.InstitutionID != null && x.ProgramID == PROGRAM_ID.UPASS && (x.URIType == "API" || x.URIType == "NoURI" || x.URIType == "Webservice")) .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new CubicwsDto { TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select (int)n.OrganizationId).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), WaiveBenefits = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.WAIVE_BENEFIT).Count(), ElectBenefits = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.ELECT_BENEFIT).Count(), LinkCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.LINK_CARD).Count(), UnlinkCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.UNLINK_CARD).Count(), UpassWebServices = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.WEB_SERVICES).Count(), Others = g.Where(c => !(c.Category == CATEGORY_ID_WEBSERVICES.WAIVE_BENEFIT || c.Category == CATEGORY_ID_WEBSERVICES.ELECT_BENEFIT || c.Category == CATEGORY_ID_WEBSERVICES.LINK_CARD || c.Category == CATEGORY_ID_WEBSERVICES.UNLINK_CARD || c.Category == CATEGORY_ID_WEBSERVICES.WEB_SERVICES)).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR || e.Level == EVENT_STATUS.WARNING).Count(), Level = g.FirstOrDefault().Level, ProcessErrorID = g.FirstOrDefault().ProcessErrorID, XmlData = g.FirstOrDefault().XmlData }); return entries; } else if (sequence == TABLE_SEQUENCE.CUBICWS_CURRENT_WEBSERVICE_STREAM) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && //x.InstitutionID != null && x.URIType != "sFTP") .GroupBy(x => new { x.ProgramID, x.InstitutionID, x.Category, x.GUID }) .Select(g => new CubicwsDto { ID = g.FirstOrDefault().ID, TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select (int)n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Events = g.Select(e => new Event_ID { ID = e.ID, Event = (from ev in db.EventIDLists where ev.EventID == e.EventID select ev.EventName).FirstOrDefault(), Level = e.Level, }).ToList(), GUID = g.Key.GUID, TSID = g.FirstOrDefault().TSID, UniqueParticipantId = g.FirstOrDefault().UniqueParticipantId, Uri = g.FirstOrDefault().URI, TotalErrors = g.Where(s => s.Level == EVENT_STATUS.ERROR || s.Level == EVENT_STATUS.WARNING).Count(), Level = g.FirstOrDefault().Level, ProcessErrorID = g.FirstOrDefault().ProcessErrorID, EligDate = g.FirstOrDefault().EligDate, Elig = g.FirstOrDefault().Elig, Status = g.FirstOrDefault().Rval, XmlData = g.FirstOrDefault().XmlData }); return entries; } else if (sequence == TABLE_SEQUENCE.FILES_DETAIL) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.InstitutionID == institutionID && x.URI.Contains(uri) && x.URIType == "sFTP") .GroupBy(x => new { x.RequestTxID, x.EventID }) .Select(g => new FilesDto { ID = g.FirstOrDefault().ID, TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == institutionID select (int)n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == institutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == institutionID select n.ShortName).FirstOrDefault(), Program = g.FirstOrDefault().ProgramID, InstitutionID = institutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == institutionID select n.Name).FirstOrDefault(), EventID = (int)g.Key.EventID, Event = (from e in db.EventIDLists where e.EventID == g.Key.EventID select e.EventName).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), Uri = g.FirstOrDefault().URI, UniqueParticipantId = g.FirstOrDefault().UniqueParticipantId, RequestTxID = g.Key.RequestTxID, Action = g.FirstOrDefault().Action, ReasonCode = g.FirstOrDefault().ReasonCode, CardSerialNumber = g.FirstOrDefault().CardSerialNumber, Errors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count(), XmlData = g.FirstOrDefault().XmlData }); return entries; } else { return null; } }
public IQueryable <BaseDto> GetTL_EventLog(DateTime start, DateTime end, TABLE_SEQUENCE sequence, string institutionID, string uri) { if (sequence == TABLE_SEQUENCE.FILES_PPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.ProgramID == PROGRAM_ID.PPASS && x.URIType == "sFTP") .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new FilesDto { ID = g.FirstOrDefault().ID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select(int) n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.ShortName).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Requests = g.Where(r => r.UniqueParticipantId != null).Count(), Uri = g.FirstOrDefault().URI, IufRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.IUF).Count(), FufRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.FUF).Count(), FcfRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.FCF).Count(), IcfRequests = g.Where(r => r.RequestTxID != null && r.Category == CATEGORY_ID_FILES.ICF).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count(), }); return(entries); } else if (sequence == TABLE_SEQUENCE.FILES_UPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.ProgramID == PROGRAM_ID.UPASS && x.URIType == "sFTP") .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new FilesDto { DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select(int) n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.ShortName).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Requests = g.Where(r => r.UniqueParticipantId != null).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count() }); return(entries); } else if (sequence == TABLE_SEQUENCE.FILES_CURRENT_FILE_STREAM) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && (x.URI.ToUpper().Contains("IUF_") || x.URI.ToUpper().Contains("ICF_") || x.URI.ToUpper().Contains("FUF_") || x.URI.ToUpper().Contains("FCF_") || x.URI.Contains(PROGRAM_ID.UPASS))) .GroupBy(x => new { x.ProgramID, x.InstitutionID, x.Category, x.EventID }) .Select(g => new FilesDto { ID = g.FirstOrDefault().ID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select(int) n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.ShortName).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.Key.Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.Key.EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Requests = g.Where(r => r.RequestTxID != null || r.UniqueParticipantId != null).Count(), Uri = g.FirstOrDefault().URI, RequestTxID = g.FirstOrDefault().RequestTxID, UniqueParticipantId = g.FirstOrDefault().UniqueParticipantId, Action = g.FirstOrDefault().Action, ReasonCode = g.FirstOrDefault().ReasonCode, TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count(), XmlData = g.FirstOrDefault().XmlData }); return(entries); } else if (sequence == TABLE_SEQUENCE.CUBICWS_PPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.ProgramID == PROGRAM_ID.PPASS && x.URIType == "API") .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new CubicwsDto { TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select(int) n.OrganizationId).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), CardSerialNumber = g.FirstOrDefault().CardSerialNumber, NewCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.NEW_CARD).Count(), TerminateCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.TERMINATE_CARD).Count(), ReplacementCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.REPLACEMENT_CARD).Count(), SuspendCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.SUSPEND_CARD).Count(), ResumeCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.REPLACEMENT_CARD).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR || e.Level == EVENT_STATUS.WARNING).Count(), Level = g.FirstOrDefault().Level, ProcessErrorID = g.FirstOrDefault().ProcessErrorID, XmlData = g.FirstOrDefault().XmlData }); return(entries); } else if (sequence == TABLE_SEQUENCE.CUBICWS_UPASS) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && //x.InstitutionID != null && x.ProgramID == PROGRAM_ID.UPASS && (x.URIType == "API" || x.URIType == "NoURI" || x.URIType == "Webservice")) .GroupBy(x => new { x.ProgramID, x.InstitutionID }) .Select(g => new CubicwsDto { TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select(int) n.OrganizationId).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), WaiveBenefits = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.WAIVE_BENEFIT).Count(), ElectBenefits = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.ELECT_BENEFIT).Count(), LinkCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.LINK_CARD).Count(), UnlinkCards = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.UNLINK_CARD).Count(), UpassWebServices = g.Where(c => c.Category == CATEGORY_ID_WEBSERVICES.WEB_SERVICES).Count(), Others = g.Where(c => !(c.Category == CATEGORY_ID_WEBSERVICES.WAIVE_BENEFIT || c.Category == CATEGORY_ID_WEBSERVICES.ELECT_BENEFIT || c.Category == CATEGORY_ID_WEBSERVICES.LINK_CARD || c.Category == CATEGORY_ID_WEBSERVICES.UNLINK_CARD || c.Category == CATEGORY_ID_WEBSERVICES.WEB_SERVICES)).Count(), TotalErrors = g.Where(e => e.Level == EVENT_STATUS.ERROR || e.Level == EVENT_STATUS.WARNING).Count(), Level = g.FirstOrDefault().Level, ProcessErrorID = g.FirstOrDefault().ProcessErrorID, XmlData = g.FirstOrDefault().XmlData }); return(entries); } else if (sequence == TABLE_SEQUENCE.CUBICWS_CURRENT_WEBSERVICE_STREAM) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && //x.InstitutionID != null && x.URIType != "sFTP") .GroupBy(x => new { x.ProgramID, x.InstitutionID, x.Category, x.GUID }) .Select(g => new CubicwsDto { ID = g.FirstOrDefault().ID, TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select(int) n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Program = g.Key.ProgramID, InstitutionID = g.Key.InstitutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == g.Key.InstitutionID select n.Name).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), EventID = (int)g.FirstOrDefault().EventID, Event = (from e in db.EventIDLists where e.EventID == g.FirstOrDefault().EventID select e.EventName).FirstOrDefault(), Events = g.Select(e => new Event_ID { ID = e.ID, Event = (from ev in db.EventIDLists where ev.EventID == e.EventID select ev.EventName).FirstOrDefault(), Level = e.Level, }).ToList(), GUID = g.Key.GUID, TSID = g.FirstOrDefault().TSID, UniqueParticipantId = g.FirstOrDefault().UniqueParticipantId, Uri = g.FirstOrDefault().URI, TotalErrors = g.Where(s => s.Level == EVENT_STATUS.ERROR || s.Level == EVENT_STATUS.WARNING).Count(), Level = g.FirstOrDefault().Level, ProcessErrorID = g.FirstOrDefault().ProcessErrorID, EligDate = g.FirstOrDefault().EligDate, Elig = g.FirstOrDefault().Elig, Status = g.FirstOrDefault().Rval, XmlData = g.FirstOrDefault().XmlData }); return(entries); } else if (sequence == TABLE_SEQUENCE.FILES_DETAIL) { var entries = db.TL_EventLog .Where(x => x.ProcessDatetime >= start && x.ProcessDatetime <= end && x.InstitutionID != null && x.InstitutionID == institutionID && x.URI.Contains(uri) && x.URIType == "sFTP") .GroupBy(x => new { x.RequestTxID, x.EventID }) .Select(g => new FilesDto { ID = g.FirstOrDefault().ID, TaskID = g.FirstOrDefault().TaskID, StateID = g.FirstOrDefault().StateID, DateStart = g.FirstOrDefault().ProcessDatetime, OrganizationId = (from n in db.NCSInfoes where n.InstitutionId == institutionID select(int) n.OrganizationId).FirstOrDefault(), NCSName = (from n in db.NCSInfoes where n.InstitutionId == institutionID select n.Name).FirstOrDefault(), NCSCustomerAssignedID = (from n in db.NCSInfoes where n.InstitutionId == institutionID select n.ShortName).FirstOrDefault(), Program = g.FirstOrDefault().ProgramID, InstitutionID = institutionID, Institution = (from n in db.NCSInfoes where n.InstitutionId == institutionID select n.Name).FirstOrDefault(), EventID = (int)g.Key.EventID, Event = (from e in db.EventIDLists where e.EventID == g.Key.EventID select e.EventName).FirstOrDefault(), Category = g.FirstOrDefault().Category, CategoryID = (from e in db.CategoryIDLists where e.CategoryName == g.FirstOrDefault().Category select e.CategoryID).FirstOrDefault(), Uri = g.FirstOrDefault().URI, UniqueParticipantId = g.FirstOrDefault().UniqueParticipantId, RequestTxID = g.Key.RequestTxID, Action = g.FirstOrDefault().Action, ReasonCode = g.FirstOrDefault().ReasonCode, CardSerialNumber = g.FirstOrDefault().CardSerialNumber, Errors = g.Where(e => e.Level == EVENT_STATUS.ERROR).Count(), XmlData = g.FirstOrDefault().XmlData }); return(entries); } else { return(null); } }