public IEnumerable <List <KL> > KarmaAssembler(DateTime RaidDate) { KarmaDBEntities db = new KarmaDBEntities(); var DBRosterList = db.chartable.Join(db.playerdata, c => c.idplayer, p => p.idPlayer, (c, p) => new { c, p }).Where(t => t.p.IsActive == 1).OrderBy(s => s.p.idPlayer).ToList(); string ID = ""; sbyte isActive = 0; List <KL> ResultList = new List <KL>(); KL Row = new KL(); foreach (var Character in DBRosterList) { ID = Character.p.idPlayer; isActive = Character.p.IsActive ?? 1; if (ID != "" && ID != null) { Row = new KL(); //Получить данные о персе Row.ID = ID; Row.CHARS = CharAssembler(ID); //Получить данные о аттендансе Row.KARMA = KarmaGet(ID, RaidDate); Row.Date = RaidDate; } ResultList.Add(Row); } IEnumerable <List <KL> > RGList = ResultList.GroupBy(x => x.ID) .Select(group => group.ToList()) .ToList(); return(RGList); }
private void button2_Click(object sender, EventArgs e) { SetDay = int.Parse(textBox3.Text); SetDay_K = double.Parse(textBox4.Text); SetDay_D = double.Parse(textBox5.Text); KL.Add(SetDay_K); DL.Add(SetDay_D); for (int i = SetDay; i < HL.Count; i++) { var h = HL.GetRange(i - SetDay, SetDay + 1).ToList(); var l = LL.GetRange(i - SetDay, SetDay + 1).ToList(); var v = VL.GetRange(i - SetDay, SetDay + 1).ToList(); double max = h.Max(); double min = l.Min(); double RSV = ((v.Last() - min) / (max - min)) * 100d; double k = ((2d / 3d) * KL.Last()) + ((1d / 3d) * RSV); double d = ((2d / 3d) * DL.Last()) + ((1d / 3d) * k); KL.Add(k); DL.Add(d); } using (StreamWriter sw = new StreamWriter(textBox2.Text)) { for (int i = 0; i < KL.Count; i++) { sw.Write(KL[i].ToString("0.00") + " "); } sw.WriteLine(""); for (int i = 0; i < KL.Count; i++) { sw.Write(DL[i].ToString("0.00") + " "); } sw.WriteLine(""); } Process.Start(textBox2.Text); }
private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); // Imported type : LowLevelKeyboardProc. Now we can use this type. public KeysSaver() { _keys = new KL(); watch = new Stopwatch(); }