public static void InitProcessors(int[] array, ProcessorsList processorsList) { for (int i = 0; i < array.Length; i++) { processorsList.AddProcessor(new Processor(array[i])); } }
static void Main(string[] args) { char id = Console.ReadKey().KeyChar; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(string.Format("http://kodaday.intita.com/api/task/{0}", id)); request.Headers.Add("X-API-KEY: S95Xczjx"); WebResponse response = request.GetResponse(); Console.WriteLine(((HttpWebResponse)response).StatusDescription); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string responseFromServer = reader.ReadToEnd(); reader.Close(); response.Close(); Data data = new Data(); data = JsonConvert.DeserializeObject <Data>(responseFromServer); ProcessorsList processorsList = new ProcessorsList(); ProcessorsHelper.InitProcessors(data.processors, processorsList); int[] outArray = new int[data.tasks.Length]; ProcessorsHelper.AddTasks(data.tasks, processorsList, ref outArray); HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create(string.Format("http://kodaday.intita.com/api/task/{0}", id)); request2.Headers.Add("X-API-KEY: S95Xczjx"); request2.Method = "POST"; var stream = request2.GetRequestStream(); var writer = new StreamWriter(stream); writer.Write(JsonConvert.SerializeObject(outArray)); writer.Flush(); writer.Close(); stream.Close(); WebResponse response2 = request2.GetResponse(); Console.WriteLine(response2); }
public static int AddTasks(int[] inputArray, ProcessorsList processorsList, ref int[] outputArray) { int count1 = 0; int count2 = 0; foreach (var cur in processorsList.GetProcessors()) { if (cur.Type == 1) { count1++; } if (cur.Type == 2) { count2++; } } int minCount = 0; for (int i = 0; i < inputArray.Length; i++) { int[] countArray = new int[processorsList.GetProcessors().Count]; int proc = 0; foreach (var currentProcessor in processorsList.GetProcessors()) { countArray[proc] = currentProcessor.GetCountTaktForTask(inputArray[i]); proc++; } int min = 999999999; int neededProc = 0; for (int k = 0; k < countArray.Length; k++) { if (countArray[k] < min) { min = countArray[k]; neededProc = k; } } minCount += countArray[neededProc]; processorsList.GetProcessors()[neededProc].Tacts = processorsList.GetProcessors()[neededProc].GetCountTaktForTask(inputArray[i]);; outputArray[i] = neededProc; } return(minCount); }