Beispiel #1
0
        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());
        }
Beispiel #2
0
        // 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());
        }