public List <CurrScanDTO> GenerateComplianceScanReport(int scanId) { using (var context = new WebParserEntities()) { List <CurrScanDTO> data = (from item in context.ComplianceMasters join curr in context.CurrScans on item.PluginId equals curr.PluginID where item.Reportable == true && curr.Compliance == true && curr.ScanID == scanId && item.ComplianceCheckID == curr.ComplianceCheckID orderby item.RiskFactor, item.Category1, item.Category2, item.Category3 select new CurrScanDTO() { ComplianceCheckID = curr.ComplianceCheckID, Description = item.Description, RiskFactor = item.RiskFactor, Port = curr.Port, ReportHost = curr.ReportHost, PluginOutput = curr.PluginOutput, ComplianceActualValue = curr.ComplianceActualValue, ComplianceOutPut = curr.ComplianceOutput, CompliancePolicyValue = curr.CompliancePolicyValue, ComplianceResult = curr.ComplianceResult }).ToList(); return(data); } }
private ReturnResultDTO CheckExistingData(int scanId) { ReturnResultDTO dto = new ReturnResultDTO(); using (var context = new WebParserEntities()) { List <int> plugins = context.MasterPlugins.Select(x => x.PluginID).Distinct().ToList(); var plgData = context.CurrScans.Where(c => plugins.Contains(c.PluginID) == false && c.Compliance == false && c.ScanID == scanId).ToList(); var cntOfPlgData = plgData.Select(c => c.PluginID).Distinct().Count(); if (cntOfPlgData > 0) { dto.NewPluginMessage = "New Plugins found. Please update"; dto.NewPluginCount = cntOfPlgData; } else { dto.NewPluginMessage = "Ok"; dto.NewPluginCount = cntOfPlgData; } List <string> complianceCheckIDList = context.ComplianceMasters.Select(c => c.ComplianceCheckID).Distinct().ToList(); var compData = context.CurrScans.Where(c => complianceCheckIDList.Contains(c.ComplianceCheckID) == false && c.Compliance == true && c.ScanID == scanId).ToList(); var compDataCount = compData.Select(c => c.ComplianceCheckID).Distinct().Count(); if (compDataCount > 0) { dto.NewComplianceMessage = "New Compliance Checks found. Please update"; dto.NewComplianceCount = compDataCount; } else { dto.NewComplianceMessage = "Ok"; dto.NewComplianceCount = compDataCount; } List <MasterPlugin> masterPlugindata = context.MasterPlugins.Where(v => v.PluginOutputReportable == true && v.PluginOutPut != null).ToList(); var count = (from item in context.CurrScans join plg in masterPlugindata on item.PluginID equals plg.PluginID where item.PluginOutput != plg.PluginOutPut && item.ScanID == scanId && item.Compliance == false select item).Count(); if (count > 0) { dto.NewVarianceMessage = "Plugin output variance found.Please review."; dto.NewVarianceCount = count; } else { dto.NewVarianceMessage = "Ok"; dto.NewVarianceCount = count; } dto.IsSuccess = true; return(dto); } }
public ReturnResultDTO UpdateMasterPluginData(List <MasterPluginDTO> input) { //List<int> pluginIds=input.Select(c=>c. ReturnResultDTO dt = new ReturnResultDTO(); try { bool isUpdated = false; int plgId = 0; using (var context = new WebParserEntities()) { input.ForEach(c => { plgId = int.Parse(c.PluginId.ToString()); var data = context.MasterPlugins.FirstOrDefault(v => v.PluginID == plgId); if (data != null) { isUpdated = true; data.Description = c.Description; data.Synopsis = c.Synopsis; data.PluginOutPut = c.PluginOutPut; data.RiskFactor = c.Riskfactor; data.PluginOutputReportable = c.PluginOutPutReportable; data.Reportable = c.Reportable; data.Solution = c.Solution; } }); if (isUpdated) { context.SaveChanges(); dt.Message = "Update successfull."; dt.IsSuccess = true; } else { dt.Message = "No matchin plugin found."; dt.IsSuccess = true; } return(dt); } } catch (Exception ex) { throw ex; } }
public ReturnResultDTO UpdateMasterCompliance(List <MasterComplianceDTO> input) { //List<int> pluginIds=input.Select(c=>c. ReturnResultDTO dt = new ReturnResultDTO(); bool isUpdated = false; try { int plgId = 0; using (var context = new WebParserEntities()) { input.ForEach(c => { plgId = int.Parse(c.PluginId.ToString()); var data = context.ComplianceMasters.FirstOrDefault(v => v.PluginId == plgId); if (data != null) { isUpdated = true; data.Description = c.Description; data.Reportable = c.Reportable; data.RiskFactor = c.Riskfactor; data.Category1 = c.Category1; data.Category2 = c.Category2; } }); if (isUpdated) { context.SaveChanges(); dt.Message = "Update successfull."; dt.IsSuccess = true; } else { dt.Message = "No matchin plugin found."; dt.IsSuccess = true; } return(dt); } } catch (Exception ex) { throw ex; } //} }
public List <CurrScanDTO> GenerateRegularScanReport(int scanId) { using (var context = new WebParserEntities()) { List <CurrScanDTO> data = (from item in context.MasterPlugins join curr in context.CurrScans on item.PluginID equals curr.PluginID where item.Reportable == true && curr.Compliance == false && curr.ScanID == scanId orderby item.RiskFactor, item.Category1, item.Category2, item.Category3 select new CurrScanDTO() { Synopsis = item.Synopsis, Description = item.Description, RiskFactor = item.RiskFactor, Solution = item.Solution, Port = curr.Port, ReportHost = curr.ReportHost }).ToList(); return(data); } }
public ReturnResultDTO UpdatePluginVariance2(List <MasterPluginDTO> input) { //List<int> pluginIds=input.Select(c=>c. ReturnResultDTO dt = new ReturnResultDTO(); bool isUpdated = false; int plgId = 0; try { using (var context = new WebParserEntities()) { input.ForEach(c => { plgId = int.Parse(c.PluginId.ToString()); var data = context.CurrScans.FirstOrDefault(v => v.PluginID == plgId && v.ComplianceCheckID == c.ComplianceCheckID); if (data != null) { isUpdated = true; data.PluginOutputReportable = c.PluginOutPutReportable; } }); if (isUpdated) { context.SaveChanges(); dt.Message = "Update successfull."; dt.IsSuccess = true; } else { dt.Message = "No matchin plugin found."; dt.IsSuccess = true; } return(dt); } } catch (Exception ex) { throw ex; } }