static void Main() { var input = Console.ReadLine().Split(new string[] { " -> ", " | " }, StringSplitOptions.RemoveEmptyEntries).ToList(); Dictionary <string, Dictionary <int, string> > data = new Dictionary <string, Dictionary <int, string> >(); KeyValuePair <string, Dictionary <int, string> > cache = new KeyValuePair <string, Dictionary <int, string> >(); while (input[0] != "thetinggoesskrra") { if (input.Count == 1) { string dataSet = input[0]; if (!data.ContainsKey(dataSet)) { data.Add(dataSet, new Dictionary <int, string>()); if (cache.Key == dataSet) { Dictionary <int, string> size = cache.Value; data[dataSet] = size; } } } else { string dataSet = input[2]; int dataSize = int.Parse(input[1]); string dataKey = input[0]; if (!data.ContainsKey(dataSet)) { cache.Add(dataSet, dataKey); cache.Add(dataSet, new Dictionary <int, string>()); cache[dataSet][dataSize] = dataKey; } else { data[dataSet][dataSize] = dataKey; } } input = Console.ReadLine().Split(new string[] { " -> ", " | " }, StringSplitOptions.RemoveEmptyEntries).ToList(); } foreach (var dataSet in data.OrderByDescending(x => x.Value.Keys.Sum())) { Console.WriteLine($"Data Set: {dataSet.Key}, Total Size: {dataSet.Value.Keys.Sum()}"); foreach (var dataKey in dataSet.Value) { Console.WriteLine($"$.{dataKey.Value}"); } break; } }
public QueryParameterCollection(string queryString, IEqualityComparer <string> keyComparer) { _keyComparer = keyComparer ?? StringComparer.InvariantCulture; _innerDictionary = new Dictionary <string, List <KeyValuePair> >(_keyComparer); if (string.IsNullOrEmpty(queryString)) { return; } foreach (string kvp in queryString.Split('=')) { KeyValuePair.Add(this, new KeyValuePair(kvp, true)); } }
private static int[] FindTwoSum(int[] nums, int target) { int[] result = new int[2]; if (nums.Length == 0 || target == 0) { return(result); } // 4 2 3 // target = 6 //keyPairs[4] = 0 //keyPairs[2] = 1 //keyPairs[3] = 2 KeyValuePair <int, int> keyPairs = new KeyValuePair <int, int>(); for (int index = 0; index < nums.Length; index++) { try { keyPairs.Add(nums[index], index); } catch (ArgumentException ex) { throw new Exception("Invalid input array"); } } for (int index = 0; index < nums.Length; index++) { int temp; if (keyPairs.TryGetValue(target - nums[index], out temp)) { if (index == temp) { continue; } result[0] = index; result[1] = temp; break; } } return(result); }
/// <summary> /// Generates the json files. /// </summary> /// <param name="section">The section.</param> private void GenerateJsonFiles(string section) { try { // Setup the base parameters being passed in. KeyValuePair <string, object>[] baseOptions = new KeyValuePair <string, object>[] { new KeyValuePair <string, object>("@ReportID", ReportID), }; string sectionStart = "Utilization Region - Output {0} Data - Starting generation of output files by {1}"; string sectionEnd = "Utilization Region - Output {0} Data - Generated output files by {1} in {2:c}"; // Reset the timer in the base file that tracks the json conversion and file write time. FileIOTime = TimeSpan.Zero; TimeSpan elapsedTime; DateTime groupStartAll = DateTime.Now; // Generate the main json files #region DRG Output // Output the two DRG sections if (section == "DRG") { LogMessage(string.Format(sectionStart, "DRG", "clinical dimension")); elapsedTime = GenerateUtilizationJsonFileCombinations(DRGDataDir, "DRG/DRG_", jsonDomain, "spUtilRegionGetSummaryDataByClinical", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 1)), DRGList, "@UtilID", "Id", RegionList, "@RegionID", "RegionID"); Logger.Write(string.Format(sectionEnd, "DRG", "clinical dimension", elapsedTime)); LogMessage(string.Format(sectionStart, "DRG", "region")); elapsedTime = GenerateUtilizationJsonFileCombinations(DRGHospitalRegionsDataDir, "Region_", jsonDomain, "spUtilRegionGetSummaryDataByGeo", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 1)), RegionList, "@RegionID", "RegionID", DRGList, "@UtilID", "Id"); Logger.Write(string.Format(sectionEnd, "DRG", "clinical dimension", elapsedTime)); } #endregion DRG Output #region MDC Output // Output the two MDC sections if (section == "MDC") { LogMessage(string.Format(sectionStart, "MDC", "clinical dimension")); elapsedTime = GenerateUtilizationJsonFileCombinations(MDCDataDir, "MDC/MDC_", jsonDomain, "spUtilRegionGetSummaryDataByClinical", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 2)), MDCList, "@UtilID", "Id", RegionList, "@RegionID", "RegionID"); Logger.Write(string.Format(sectionEnd, "MDC", "clinical dimension", elapsedTime)); LogMessage(string.Format(sectionStart, "MDC", "region")); elapsedTime = GenerateUtilizationJsonFileCombinations(MDCHospitalRegionsDataDir, "Region_", jsonDomain, "spUtilRegionGetSummaryDataByGeo", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 2)), RegionList, "@RegionID", "RegionID", MDCList, "@UtilID", "Id"); Logger.Write(string.Format(sectionEnd, "MDC", "clinical dimension", elapsedTime)); } #endregion MDC Output #region CCS Output // Output the two CCS sections if (section == "DXCCS") { LogMessage(string.Format(sectionStart, "DXCCS", "clinical dimension")); elapsedTime = GenerateUtilizationJsonFileCombinations(CCSDataDir, "CCS/CCS_", jsonDomain, "spUtilRegionGetSummaryDataByClinical", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 3)), CCSList, "@UtilID", "Id", RegionList, "@RegionID", "RegionID"); Logger.Write(string.Format(sectionEnd, "DXCCS", "clinical dimension", elapsedTime)); LogMessage(string.Format(sectionStart, "DXCCS", "region")); elapsedTime = GenerateUtilizationJsonFileCombinations(CCSHospitalRegionsDataDir, "Region_", jsonDomain, "spUtilRegionGetSummaryDataByGeo", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 3)), RegionList, "@RegionID", "RegionID", CCSList, "@UtilID", "Id"); Logger.Write(string.Format(sectionEnd, "DXCCS", "clinical dimension", elapsedTime)); } #endregion CCS Output #region PRCCS Output // Output the two PRCCS sections if (section == "PRCCS") { LogMessage(string.Format(sectionStart, "PRCCS", "clinical dimension")); elapsedTime = GenerateUtilizationJsonFileCombinations(PRCCSDataDir, "PRCCS/PRCCS_", jsonDomain, "spUtilRegionGetSummaryDataByClinical", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 4)), PRCCSList, "@UtilID", "Id", RegionList, "@RegionID", "RegionID"); Logger.Write(string.Format(sectionEnd, "PRCCS", "clinical dimension", elapsedTime)); LogMessage(string.Format(sectionStart, "PRCCS", "region")); elapsedTime = GenerateUtilizationJsonFileCombinations(PRCCSHospitalRegionsDataDir, "Region_", jsonDomain, "spUtilRegionGetSummaryDataByGeo", "spUtilRegionGetDetailData", baseOptions.Add(new KeyValuePair <string, object>("@UtilTypeID", 4)), RegionList, "@RegionID", "RegionID", PRCCSList, "@UtilID", "Id"); Logger.Write(string.Format(sectionEnd, "PRCCS", "clinical dimension", elapsedTime)); } #endregion PRCCS Output // Log the total time. TimeSpan groupTimeDiffAll = DateTime.Now - groupStartAll; Logger.Write(string.Format("Utilization Region - Output {0} Data - Generated output files in {1:c}", section, groupTimeDiffAll)); Logger.Write(string.Format("Utilization Region - Output {0} Data - Total file IO time was {1:c}", section, FileIOTime)); } catch (Exception ex) { Logger.Write(ex); } }