public ActionResult Index() { dtoRawInterfaceDataSummary dto = new dtoRawInterfaceDataSummary(); dto = dal.getHomeData(); return(View(dto)); }
public dtoRawInterfaceDataSummary getHomeData() { dtoRawInterfaceDataSummary dto = new dtoRawInterfaceDataSummary(); string sql = @"SELECT TOP(1000) [Id] ,[Action],[EntityNumber],[IdocNumber],[ServiceId],[StatusId],[Data] ,[StatusMessage] ,[Type] ,[Created] ,[CreatedBy] ,[Modified] ,[ModifiedBy] ,[Version] FROM[jbsmstr].[scoMaster].[RawInterfaceData] WHERE[type] = 'Material Master Data' AND created >= DateAdd(day,-8, getDate()) ORDER BY Created DESC "; List <RawInterfaceData> rData = db.Database.SqlQuery <RawInterfaceData>(sql).ToList(); dto.errorcount = rData.Where(i => i.Action == "ERROR").Count(); dto.insertcount = rData.Where(i => i.Action == "INSERT").Count(); dto.updatecount = rData.Where(i => i.Action == "UPDATE").Count(); dto.insertmax = 0; dto.updatemax = 0; for (int i = 0; i < 10; i++) { dtoGraphStat g = new dtoGraphStat(); DateTime d = DateTime.Now.AddDays(-i); g.x = d.DayOfWeek.ToString().Substring(0, 1).ToUpper().ToString(); int c = rData.Where(j => j.Action == "INSERT").Where(j => j.Created.UtcDateTime.ToShortDateString() == d.ToShortDateString()).Count(); if (c > dto.insertmax) { dto.insertmax = c; } g.y = c.ToString(); g.desc = d.ToShortDateString() + " [" + c.ToString() + "]"; dto.graphInserts.Add(g); } for (int i = 0; i < 10; i++) { dtoGraphStat g = new dtoGraphStat(); DateTime d = DateTime.Now.AddDays(-i); g.x = d.DayOfWeek.ToString().Substring(0, 1).ToUpper().ToString(); int c = rData.Where(j => j.Action == "UPDATE").Where(j => j.Created.UtcDateTime.ToShortDateString() == d.ToShortDateString()).Count(); if (c > dto.updatemax) { dto.updatemax = c; } g.y = c.ToString(); g.desc = d.ToShortDateString() + " [" + c.ToString() + "]"; dto.graphUpdates.Add(g); } dto.errors = rData.Where(i => i.Action == "ERROR").OrderByDescending(i => i.Modified).Take(10).ToList(); dto.inserts = rData.Where(i => i.Action == "INSERT").OrderByDescending(i => i.Modified).Take(10).ToList(); dto.updates = rData.Where(i => i.Action == "UPDATE").OrderByDescending(i => i.Modified).Take(10).ToList(); if ((dto.updatemax + dto.updatemax) <= 10) { dto.updatemax = 10; } if ((dto.insertmax + dto.insertmax) <= 10) { dto.insertmax = 10; } foreach (RawInterfaceData r in dto.inserts) { if (r.Data != null) { try { Material_Master_Data result; var serializer = new XmlSerializer(typeof(Material_Master_Data)); using (var reader = new StringReader(r.Data)) { result = (Material_Master_Data)serializer.Deserialize(reader); } string materialdesc = "No Material Description"; string legacycode = "No Legacy Code"; if (result.MaterialMasterGeneralData != null) { if (result.MaterialMasterGeneralData.LegacyCode != null) { legacycode = result.MaterialMasterGeneralData.LegacyCode.ToString(); } } if (result.MaterialMasterShortTextsDetails.MaterialMasterShortTexts != null) { materialdesc = result.MaterialMasterShortTextsDetails.MaterialMasterShortTexts.MaterialDescription.ToString(); } r.Data = materialdesc + " " + legacycode; } catch (Exception ex) { string issue = ex.ToString(); r.Data = "Problem"; } } } foreach (RawInterfaceData r in dto.updates) { if (r.Data != null) { try { Material_Master_Data result; var serializer = new XmlSerializer(typeof(Material_Master_Data)); using (var reader = new StringReader(r.Data)) { result = (Material_Master_Data)serializer.Deserialize(reader); } string materialdesc = "No Material Description"; string legacycode = "No Legacy Code"; if (result.MaterialMasterGeneralData != null) { if (result.MaterialMasterGeneralData.LegacyCode != null) { legacycode = result.MaterialMasterGeneralData.LegacyCode.ToString(); } } if (result.MaterialMasterShortTextsDetails.MaterialMasterShortTexts != null) { materialdesc = result.MaterialMasterShortTextsDetails.MaterialMasterShortTexts.MaterialDescription.ToString(); } r.Data = materialdesc + " " + legacycode; } catch (Exception ex) { string issue = ex.ToString(); r.Data = "Problem"; } } } return(dto); }