public ActionResult Rapor(int?id) { if (Session["User_Details"] == null) { return(Redirect("Giris")); } bilgisayari_varmi(); string hwid = Session["Current_PC_Hw_id"].ToString(); //-Tarih Hesaplanıyor-// DateTime aralik = DateTime.Now; if (id != null && id != 0 && id > 0) { aralik = aralik.AddDays(-Convert.ToInt32(id)); } else { aralik = Convert.ToDateTime("01.01.1970 00:00:00"); } //--Genel-APP CPU-RAM--NETWORK-DİSK KULLANIMI--// int item_count = 1; #region sistem_kullanim_cpu_chart List <JS_Chart_Data_Model> js_data_list_cpu = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_ram = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_disk = new List <JS_Chart_Data_Model>(); foreach (var item in db.System_Usage.Where(x => x.Hardware_Id == hwid && x.Datetime_ > aralik).ToList()) { JS_Chart_Data_Model cpu = new JS_Chart_Data_Model(); cpu.x = item_count; cpu.y = Math.Round(Convert.ToDouble(item.Cpu), 2); cpu.label = Convert.ToString(String.Format("{0:T}", item.Datetime_)); js_data_list_cpu.Add(cpu); JS_Chart_Data_Model ram = new JS_Chart_Data_Model(); ram.x = item_count; ram.y = Math.Round(Convert.ToDouble(item.Memory), 2); ram.label = Convert.ToString(String.Format("{0:T}", item.Datetime_)); js_data_list_ram.Add(ram); JS_Chart_Data_Model disk = new JS_Chart_Data_Model(); disk.x = item_count; disk.y = Math.Round(Convert.ToDouble(item.IO_Read + item.IO_Write), 2); disk.label = Convert.ToString(String.Format("{0:T}", item.Datetime_)); js_data_list_disk.Add(disk); item_count++; } //--Chart Genel Verileri Hazırlanıyor--// TempData["js_data__sys_cpu"] = JsonConvert.SerializeObject(js_data_list_cpu); TempData["js_data__sys_ram"] = JsonConvert.SerializeObject(js_data_list_ram); TempData["js_data__sys_disk"] = JsonConvert.SerializeObject(js_data_list_disk); item_count = 0; //--Max Genel Verileri Hazırlanıyor--// TempData["max_sys_cpu"] = js_data_list_cpu.Sum(x => x.y) / js_data_list_cpu.Count(); TempData["max_sys_ram"] = js_data_list_ram.Sum(x => x.y) / js_data_list_ram.Count(); TempData["max_sys_disk"] = js_data_list_disk.Sum(x => x.y) / js_data_list_disk.Count(); #endregion sistem_kullanim_cpu_chart #region uygulama_kullanim_cpu_chart List <JS_Chart_Data_Model> js_data_list_cpu_app = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_ram_app = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_disk_app = new List <JS_Chart_Data_Model>(); //--Uygulama Verileri Hzırlanıyor--// var app_usage_list_query = (from cc in db.App_Usage.Where(x => x.Hardware_Id == hwid && x.Datetime_ > aralik).ToList() group cc by cc.Process_Name into newgroup //add where clause select new { process_name = newgroup.Key, app_cpu = newgroup.Sum(c => c.Cpu) / newgroup.Count(), app_ram = newgroup.Sum(c => c.Memory) / newgroup.Count(), app_disk = (newgroup.Sum(c => c.IO_Read) + newgroup.Sum(c => c.IO_Write)) / newgroup.Count(), }).ToList(); foreach (var item in app_usage_list_query.OrderByDescending(x => x.app_cpu)) { JS_Chart_Data_Model app_cpu_item = new JS_Chart_Data_Model(); app_cpu_item.x = item_count; app_cpu_item.y = Math.Round(Convert.ToDouble(item.app_cpu), 2); app_cpu_item.label = item.process_name; js_data_list_cpu_app.Add(app_cpu_item); item_count++; } item_count = 1; foreach (var item in app_usage_list_query.OrderByDescending(x => x.app_ram)) { JS_Chart_Data_Model app_ram_item = new JS_Chart_Data_Model(); app_ram_item.x = item_count; app_ram_item.y = Math.Round(Convert.ToDouble(item.app_ram), 1); app_ram_item.label = item.process_name; js_data_list_ram_app.Add(app_ram_item); item_count++; } item_count = 1; foreach (var item in app_usage_list_query.OrderByDescending(x => x.app_disk)) { JS_Chart_Data_Model app_disk_item = new JS_Chart_Data_Model(); app_disk_item.x = item_count; app_disk_item.y = Convert.ToDouble(item.app_disk); app_disk_item.label = item.process_name; js_data_list_disk_app.Add(app_disk_item); item_count++; } TempData["js_data__app_cpu"] = JsonConvert.SerializeObject(js_data_list_cpu_app); TempData["js_data__app_ram"] = JsonConvert.SerializeObject(js_data_list_ram_app); TempData["js_data__app_disk"] = JsonConvert.SerializeObject(js_data_list_disk_app); //--Max Uygulama Verileri Hazırlanıyor--// var temp_cpu = app_usage_list_query.Where(x => x.app_cpu == (app_usage_list_query.Max(c => c.app_cpu))).FirstOrDefault(); if (temp_cpu != null) { TempData["max_app_cpu"] = temp_cpu.app_cpu; TempData["max_app_cpu_process_name"] = temp_cpu.process_name; } var temp_ram = app_usage_list_query.Where(x => x.app_ram == (app_usage_list_query.Max(c => c.app_ram))).FirstOrDefault(); if (temp_ram != null) { TempData["max_app_ram"] = temp_ram.app_cpu; TempData["max_app_ram_process_name"] = temp_ram.process_name; } var temp_disk = app_usage_list_query.Where(x => x.app_disk == (app_usage_list_query.Max(c => c.app_disk))).FirstOrDefault(); if (temp_disk != null) { TempData["max_app_disk"] = temp_disk.app_cpu; TempData["max_app_disk_process_name"] = temp_disk.process_name; } #endregion uygulama_kullanim_cpu_chart #region genel_istatistik_veriler //double rapor_genel_data_cpuxx = Convert.ToDouble(db.System_Usage.Where(x => x.Hardware_Id == hwid).Sum(x => x.Cpu) / db.System_Usage.Where(x => x.Hardware_Id == hwid).Count()); var rapor_genel_data = (from cc in db.System_Usage.Where(x => x.Hardware_Id == hwid && x.Datetime_ > aralik).ToList() group cc by cc.Hardware_Id into newgroup //add where clause select new { process_name = newgroup.Key, sys_cpu = newgroup.Sum(c => c.Cpu) / newgroup.Count(), sys_ram = newgroup.Sum(c => c.Memory) / newgroup.Count(), sys_net = (newgroup.Sum(c => c.Network_Rec) + newgroup.Sum(c => c.Network_Out)) / newgroup.Count(), sys_disk = (newgroup.Sum(c => c.IO_Read) + newgroup.Sum(c => c.IO_Write)) / newgroup.Count(), }).FirstOrDefault(); if (rapor_genel_data != null) { rapor_genel_data_model rapor_genel_temp_data_item = new rapor_genel_data_model(); rapor_genel_temp_data_item.sys_cpu = rapor_genel_data.sys_cpu; rapor_genel_temp_data_item.sys_ram = rapor_genel_data.sys_ram; rapor_genel_temp_data_item.sys_net = rapor_genel_data.sys_net; rapor_genel_temp_data_item.sys_disk = rapor_genel_data.sys_disk; TempData["rapor_genel_temp_data_item"] = rapor_genel_temp_data_item; } #endregion genel_istatistik_veriler #region app_istatistik_veriler List <rapor_genel_data_model> rapor_data_app_list = new List <rapor_genel_data_model>(); var rapor_app_data = (from cc in db.App_Usage.Where(x => x.Hardware_Id == hwid && x.Datetime_ > aralik).ToList() group cc by cc.Process_Name into newgroup //add where clause select new { process_name = newgroup.Key, app_cpu = newgroup.Sum(c => c.Cpu) / newgroup.Count(), app_ram = newgroup.Sum(c => c.Memory) / newgroup.Count(), app_net = (newgroup.Sum(c => c.Network_Rec) + newgroup.Sum(c => c.Network_Out)) / newgroup.Count(), app_disk = (newgroup.Sum(c => c.IO_Read) + newgroup.Sum(c => c.IO_Write)) / newgroup.Count() }).ToList(); if (rapor_app_data != null) { foreach (var item in rapor_app_data) { rapor_genel_data_model temp_data = new rapor_genel_data_model(); temp_data.process_name = item.process_name; temp_data.sys_cpu = item.app_cpu; temp_data.sys_ram = item.app_ram; temp_data.sys_net = item.app_net; temp_data.sys_disk = item.app_disk; rapor_data_app_list.Add(temp_data); } TempData["rapor_data_app_list"] = rapor_data_app_list; } #endregion app_istatistik_veriler #region pc_information PC_Details rapor_pc_inf_temp_data = db.PC_Details.Where(x => x.Hardware_Id == hwid).FirstOrDefault(); if (rapor_pc_inf_temp_data != null) { TempData["rapor_pc_inf_temp_data"] = rapor_pc_inf_temp_data; } #endregion pc_information return(View()); }
// GET:POST Panel public ActionResult Index(string baslangic, string bitis, string baslangic_app, string bitis_app)//DASHBOARD { if (Session["User_Details"] == null) { return(Redirect("Giris")); } bilgisayari_varmi(); User_Details uye_temp = Session["User_Details"] as User_Details; if (Session["Current_PC_Hw_id"] == null) { PC_Details Current_PC = db.PC_Details.FirstOrDefault(); if (Current_PC != null) { Session["Current_PC_Hw_id"] = Current_PC.Hardware_Id; } } if (Session["Current_PC_Hw_id"] != null) { string hwid = Session["Current_PC_Hw_id"].ToString(); //Tarih Aralığı Ayarlanıyor DateTime q_baslangic = Convert.ToDateTime("01/01/1970 00:00:00"); DateTime q_bitis = DateTime.Now; DateTime q_baslangic_app = Convert.ToDateTime("01/01/1970 00:00:00"); DateTime q_bitis_app = DateTime.Now; if (!string.IsNullOrEmpty(baslangic) && !string.IsNullOrEmpty(bitis)) { q_baslangic = Convert.ToDateTime(baslangic); q_bitis = Convert.ToDateTime(bitis); TempData["Gosterilen_Aralik_System"] = q_baslangic.ToString() + " ile " + q_bitis.ToString(); } else { q_baslangic = Convert.ToDateTime("01/01/1970 00:00:00"); q_bitis = DateTime.Now; TempData["Gosterilen_Aralik_System"] = "Tüm Zamanlar"; } if (!string.IsNullOrEmpty(baslangic_app) && !string.IsNullOrEmpty(bitis_app)) { q_baslangic_app = Convert.ToDateTime(baslangic_app); q_bitis_app = Convert.ToDateTime(bitis_app); TempData["Gosterilen_Aralik_App"] = q_baslangic_app.ToString() + " ile " + q_bitis_app.ToString(); } else { q_baslangic_app = Convert.ToDateTime("01/01/1970 00:00:00"); q_bitis_app = DateTime.Now; TempData["Gosterilen_Aralik_App"] = "Tüm Zamanlar"; } //--Genel CPU-RAM-DİSK KULLANIMI--// int item_count = 1; #region sistem_kullanim_cpu List <JS_Chart_Data_Model> js_data_list_cpu = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_ram = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_disk = new List <JS_Chart_Data_Model>(); foreach (var item in db.System_Usage.Where(x => x.Hardware_Id == hwid && x.Datetime_ >= q_baslangic && x.Datetime_ <= q_bitis).ToList()) { JS_Chart_Data_Model cpu = new JS_Chart_Data_Model(); cpu.x = item_count; cpu.y = Math.Round(Convert.ToDouble(item.Cpu), 2); cpu.label = Convert.ToString(String.Format("{0:T}", item.Datetime_)); js_data_list_cpu.Add(cpu); JS_Chart_Data_Model ram = new JS_Chart_Data_Model(); ram.x = item_count; ram.y = Math.Round(Convert.ToDouble(item.Memory), 2); ram.label = Convert.ToString(String.Format("{0:T}", item.Datetime_)); js_data_list_ram.Add(ram); JS_Chart_Data_Model disk = new JS_Chart_Data_Model(); disk.x = item_count; disk.y = Math.Round(Convert.ToDouble(item.IO_Read + item.IO_Write), 2); disk.label = Convert.ToString(String.Format("{0:T}", item.Datetime_)); js_data_list_disk.Add(disk); item_count++; } TempData["js_data__sys_cpu"] = JsonConvert.SerializeObject(js_data_list_cpu); TempData["js_data__sys_ram"] = JsonConvert.SerializeObject(js_data_list_ram); TempData["js_data__sys_disk"] = JsonConvert.SerializeObject(js_data_list_disk); item_count = 0; //--Max Genel Verileri Hazırlanıyor--// TempData["max_sys_cpu"] = js_data_list_cpu.Sum(x => x.y) / js_data_list_cpu.Count(); TempData["max_sys_ram"] = js_data_list_ram.Sum(x => x.y) / js_data_list_ram.Count(); TempData["max_sys_disk"] = js_data_list_disk.Sum(x => x.y) / js_data_list_disk.Count(); #endregion sistem_kullanim_cpu #region uygulama_kullanim_cpu List <JS_Chart_Data_Model> js_data_list_cpu_app = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_ram_app = new List <JS_Chart_Data_Model>(); List <JS_Chart_Data_Model> js_data_list_disk_app = new List <JS_Chart_Data_Model>(); var app_usage_list_query = (from cc in db.App_Usage.Where(x => x.Hardware_Id == hwid && x.Datetime_ >= q_baslangic_app && x.Datetime_ <= q_bitis_app).ToList() group cc by cc.Process_Name into newgroup //add where clause select new { process_name = newgroup.Key, app_cpu = newgroup.Sum(c => c.Cpu) / newgroup.Count(), app_ram = newgroup.Sum(c => c.Memory) / newgroup.Count(), app_disk = (newgroup.Sum(c => c.IO_Read) + newgroup.Sum(c => c.IO_Write)) / newgroup.Count(), }).ToList(); foreach (var item in app_usage_list_query.OrderByDescending(x => x.app_cpu)) { JS_Chart_Data_Model app_cpu_item = new JS_Chart_Data_Model(); app_cpu_item.x = item_count; app_cpu_item.y = Math.Round(Convert.ToDouble(item.app_cpu), 2); app_cpu_item.label = item.process_name; js_data_list_cpu_app.Add(app_cpu_item); item_count++; } item_count = 1; foreach (var item in app_usage_list_query.OrderByDescending(x => x.app_ram)) { JS_Chart_Data_Model app_ram_item = new JS_Chart_Data_Model(); app_ram_item.x = item_count; app_ram_item.y = Math.Round(Convert.ToDouble(item.app_ram), 1); app_ram_item.label = item.process_name; js_data_list_ram_app.Add(app_ram_item); item_count++; } item_count = 1; foreach (var item in app_usage_list_query.OrderByDescending(x => x.app_disk)) { JS_Chart_Data_Model app_disk_item = new JS_Chart_Data_Model(); app_disk_item.x = item_count; app_disk_item.y = Convert.ToDouble(item.app_disk); app_disk_item.label = item.process_name; js_data_list_disk_app.Add(app_disk_item); item_count++; } TempData["js_data__app_cpu"] = JsonConvert.SerializeObject(js_data_list_cpu_app); TempData["js_data__app_ram"] = JsonConvert.SerializeObject(js_data_list_ram_app); TempData["js_data__app_disk"] = JsonConvert.SerializeObject(js_data_list_disk_app); //--Max Uygulama Verileri Hazırlanıyor--// var temp_cpu = app_usage_list_query.Where(x => x.app_cpu == (app_usage_list_query.Max(c => c.app_cpu))).FirstOrDefault(); if (temp_cpu != null) { TempData["max_app_cpu"] = temp_cpu.app_cpu; TempData["max_app_cpu_process_name"] = temp_cpu.process_name; } var temp_ram = app_usage_list_query.Where(x => x.app_ram == (app_usage_list_query.Max(c => c.app_ram))).FirstOrDefault(); if (temp_ram != null) { TempData["max_app_ram"] = temp_ram.app_cpu; TempData["max_app_ram_process_name"] = temp_ram.process_name; } var temp_disk = app_usage_list_query.Where(x => x.app_disk == (app_usage_list_query.Max(c => c.app_disk))).FirstOrDefault(); if (temp_disk != null) { TempData["max_app_disk"] = temp_disk.app_cpu; TempData["max_app_disk_process_name"] = temp_disk.process_name; } #endregion uygulama_kullanim_cpu } return(View()); }