public void startAdmin() { List <List <string> > arr = new List <List <string> >(); List <string> str = new List <string>(); while (true) { post.clearStream(); str = objSQL.getFinance(); Thread.Sleep(20); for (int i = 0; i < str.Count; i++) { str[i] += '|'; post.sendMes(str[i]); } Thread.Sleep(40); message = post.recvMes(); if (message == "end") { return; } else if (message == "userTable") { int sort = 0; while (true) { if (sort != 1) { int sizeMess = objSQL.returnSizeBD(); post.clearStream(); Thread.Sleep(60); post.sendMes(sizeMess.ToString()); str = objSQL.getAllInfoUser(); str = objT.makeTable(str, sizeMess); message = "|id|Логин |Пароль |ФИО |Зарплата |Должность |Телефон |\n"; Thread.Sleep(100); post.sendMes(message); int x = 0; while (true) { str[x] += "\n"; post.sendMes(str[x]); Thread.Sleep(40); if (x == sizeMess - 1) { break; } x++; } } sort = 0; //Ожидание новых комманд Thread.Sleep(40); message = post.recvMes(); if (message == "end") { break; } else if (message == "serch") { while (true) { message = post.recvMes(); if (message == "end") { break; } else { str = serchForm(); if (str[0] == "Не было ни одного совпадения") { post.sendMes(str[0]); continue; } str = objT.makeTable(str, str.Count); message = "|id|Логин |Пароль |ФИО |Зарплата |Должность |Телефон |\n"; post.clearStream(); Thread.Sleep(100); post.sendMes(message); int k = 0; while (true) { if (k == str.Count) { break; } post.sendMes(str[k]); k++; } } } } else //Сделать сортировку if (message == "sorting") { objT.sort(post.returnTcp()); post.clearStream(); sort = 1; continue; } else if (message == "goIn") { post.clearStream(); message = post.recvMes(); str = serchForm(); post.clearStream(); if (str[0] == "Не было ни одного совпадения") { Thread.Sleep(40); post.sendMes(str[0]); continue; } string[] words = str[0].Split('|'); int id = Int32.Parse(words[0]); ClassUser obgUser = new ClassUser(client); obgUser.setLocalId(id); obgUser.userForm(); continue; } else if (message == "delete") { message = post.recvMes(); str = objSQL.returnAllId(); int delete = 0; for (int i = 0; i < str.Count; i++) { if (message == str[i]) { objSQL.deleteUser(message); message = "Пользователь удален"; post.sendMes(message); delete = 1; break; } } if (delete == 0) { message = "Нету такого пользователя"; post.sendMes(message); } continue; } else if (message == "alert") { message = post.recvMes(); string buffId = message; string buff2; str = objSQL.getUserInformationAboutYourself(buffId); Thread.Sleep(40); post.sendMes(str[0]); message = post.recvMes(); buff2 = post.recvMes(); if (message == "end") { continue; } else { objSQL.updateInformationAboutYourself(buff2, message); } continue; } } } else if (message == "providers") { while (true) { message = post.recvMes(); if (message == "end") { break; } else if (message == "continue") { post.clearStream(); Thread.Sleep(30); message = post.recvMes(); post.clearStream(); if (message == "end") { continue; } else { int numberOfExperts = int.Parse(message); int scaleSize = int.Parse(post.recvMes()); message = post.recvMes(); string lenghP = message; string[] providers = message.Split('\n'); int sizeMart = providers.Length; string[] matr = objT.makeStrForExpeert(scaleSize, sizeMart); double[,] assessments = new double[numberOfExperts, sizeMart]; Thread.Sleep(70); post.sendMes(numberOfExperts.ToString()); post.clearStream(); Thread.Sleep(70); post.sendMes(matr.Length.ToString()); post.clearStream(); for (int i = 0; i < numberOfExperts; i++) { Thread.Sleep(70); post.sendMes(lenghP); post.clearStream(); Thread.Sleep(20); for (int j = 0; j < sizeMart; j++) { post.sendMes(matr[j]); } post.clearStream(); message = post.recvMes(); post.clearStream(); if (message == "end") { break; } else { int k = 0; string[] buff = message.Split('\n'); //строки for (int h = 0; h < sizeMart; h++) { string[] buff2 = buff[h].Split('|'); //символы for (int l = 0; l < sizeMart; l++) { if (buff2[l] != "-") { string[] buff3 = buff2[l].Split('/'); assessments[i, k] += double.Parse(buff3[0]) / scaleSize; } } k++; } continue; } } List <double> buf = new List <double>(); double buf2 = 0; for (int x = 0; x < sizeMart; x++) { for (int x1 = 0; x1 < numberOfExperts; x1++) { assessments[x1, x] = assessments[x1, x] / (sizeMart * (sizeMart - 1)); buf2 += assessments[x1, x]; } buf.Add(buf2); Console.WriteLine(buf[x]); buf2 = 0; } Thread.Sleep(20); post.sendMes(sizeMart.ToString()); Thread.Sleep(50); for (int x3 = 0; x3 < sizeMart; x3++) { providers[x3] += "=" + buf[x3] + "\n"; post.sendMes(providers[x3]); } } } } } else if (message == "option Chart") { while (true) { str = objSQL.getFinance(); for (int i = 0; i < str.Count; i++) { str[i] += '|'; post.sendMes(str[i]); } message = post.recvMes(); if (message == "end") { break; } else if (message == "set") { string month = post.recvMes(); string money = post.recvMes(); objSQL.updateFinance(month, money); continue; } } } } }