Example #1
0
        public ActionResult Index()
        {
            if (Session["UserID"] != null)
            {
                using (DBModel db = new DBModel())
                {
                    //Get Gas table
                    var gas = db.gas.FirstOrDefault();
                    var gas_recoder_begin = db.recoder_gas.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                            .Take(1).ToList().FirstOrDefault();
                    var gas_view = new GasView();
                    if (gas != null)
                    {
                        var gas_total_last = (gas_recoder_begin != null) ? gas_recoder_begin.luu_luong_tong : "0";
                        gas_view.luu_luong_hien_tai  = string.Format("{0:#,##0.##}", ((float)Math.Round(float.Parse(gas.luu_luong_hien_tai) * 10f) / 10f));
                        gas_view.luu_luong_tong      = string.Format("{0:#,##0.##}", ((float)Math.Round(float.Parse(gas.luu_luong_tong) * 10f) / 10f));
                        gas_view.luu_luong_tong_ngay = string.Format("{0:#,##0.##}", ((float)Math.Round((float.Parse(gas.luu_luong_tong) - float.Parse(gas_total_last)) * 10f) / 10f));
                        gas_view.status = gas.status;
                    }
                    //Get Water table
                    var water = db.water.FirstOrDefault();
                    var water_recoder_begin = db.recoder_water.Where(c => c.Thoigian >= today).OrderBy(x => x.Thoigian)
                                              .Take(1).ToList().FirstOrDefault();
                    var water_view = new WaterView();
                    if (water != null)
                    {
                        var water_total_last = (water_recoder_begin != null) ? water_recoder_begin.luu_luong_tong : "0";
                        water_view.luu_luong_hien_tai  = string.Format("{0:#,##0.##}", ((float)Math.Round(float.Parse(water.luu_luong_hien_tai) * 10f) / 10f));
                        water_view.luu_luong_tong      = string.Format("{0:#,##0.##}", ((float)Math.Round(float.Parse(water.luu_luong_tong) * 10f) / 10f));
                        water_view.luu_luong_tong_ngay = string.Format("{0:#,##0.##}", ((float)Math.Round((float.Parse(water.luu_luong_tong) - float.Parse(water_total_last)) * 10f) / 10f));
                        water_view.status = water.status;
                    }

                    var hienthi = db.hienthi.Select(i => new HienthiOverView {
                        Kenh = i.Kenh, Ptotal = i.Ptotal, Kwh = i.Kwh, KWhDay = "0"
                    }).ToList();
                    //var hienthi = db.hienthi.Select(i => new { i.Kenh, i.Ptotal, i.Kwh }).ToList();
                    var recoder_kenh1_begin = db.recoder_kenh1.Where(c => c.Thoigian >= today).OrderBy(x => x.Thoigian)
                                              .Take(1).ToList().FirstOrDefault();
                    var recoder_kenh2_begin = db.recoder_kenh2.Where(c => c.Thoigian >= today).OrderBy(x => x.Thoigian)
                                              .Take(1).ToList().FirstOrDefault();
                    var recoder_kenh3_begin = db.recoder_kenh3.Where(c => c.Thoigian >= today).OrderBy(x => x.Thoigian)
                                              .Take(1).ToList().FirstOrDefault();
                    var recoder_kenh4_begin = db.recoder_kenh4.Where(c => c.Thoigian >= today).OrderBy(x => x.Thoigian)
                                              .Take(1).ToList().FirstOrDefault();
                    var recoder_kenh5_begin = db.recoder_kenh5.Where(c => c.Thoigian >= today).OrderBy(x => x.Thoigian)
                                              .Take(1).ToList().FirstOrDefault();
                    var recoder_kenh6_begin = db.recoder_kenh6.Where(c => c.Thoigian >= today).OrderBy(x => x.Thoigian)
                                              .Take(1).ToList().FirstOrDefault();

                    var   kenh1         = new HienthiOverView();
                    var   kenh2         = new HienthiOverView();
                    var   kenh3         = new HienthiOverView();
                    var   kenh4         = new HienthiOverView();
                    var   kenh5         = new HienthiOverView();
                    var   kenh6         = new HienthiOverView();
                    float sum_Ptotal    = 0;
                    float sum_Kwh       = 0;
                    float sum_Kwh_inday = 0;
                    if (hienthi != null)
                    {
                        var kenh1_Kwh_last = (recoder_kenh1_begin != null) ? recoder_kenh1_begin.Kwh : "0";
                        var kenh2_Kwh_last = (recoder_kenh2_begin != null) ? recoder_kenh2_begin.Kwh : "0";
                        var kenh3_Kwh_last = (recoder_kenh3_begin != null) ? recoder_kenh3_begin.Kwh : "0";
                        var kenh4_Kwh_last = (recoder_kenh4_begin != null) ? recoder_kenh4_begin.Kwh : "0";
                        var kenh5_Kwh_last = (recoder_kenh5_begin != null) ? recoder_kenh5_begin.Kwh : "0";
                        var kenh6_Kwh_last = (recoder_kenh6_begin != null) ? recoder_kenh6_begin.Kwh : "0";
                        for (var i = 0; i < hienthi.Count; i++)
                        {
                            switch (hienthi[i].Kenh)
                            {
                            case "1":
                                kenh1.Kenh     = hienthi[i].Kenh;
                                kenh1.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                                kenh1.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh1_2009) * 10f) / 10f).ToString();
                                kenh1.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh1_Kwh_last)) * 10f) / 10f).ToString();
                                sum_Kwh_inday += float.Parse(kenh1.KWhDay);
                                sum_Kwh       += float.Parse(kenh1.Kwh);
                                break;

                            case "2":
                                kenh2.Kenh     = hienthi[i].Kenh;
                                kenh2.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                                kenh2.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh2_2009) * 10f) / 10f).ToString();
                                kenh2.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh2_Kwh_last)) * 10f) / 10f).ToString();
                                sum_Kwh_inday += float.Parse(kenh2.KWhDay);
                                sum_Kwh       += float.Parse(kenh2.Kwh);
                                break;

                            case "3":
                                kenh3.Kenh     = hienthi[i].Kenh;
                                kenh3.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                                kenh3.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh3_2009) * 10f) / 10f).ToString();
                                kenh3.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh3_Kwh_last)) * 10f) / 10f).ToString();
                                sum_Kwh_inday += float.Parse(kenh3.KWhDay);
                                sum_Kwh       += float.Parse(kenh3.Kwh);
                                break;

                            case "4":
                                kenh4.Kenh     = hienthi[i].Kenh;
                                kenh4.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                                kenh4.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh4_2009) * 10f) / 10f).ToString();
                                kenh4.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh4_Kwh_last)) * 10f) / 10f).ToString();
                                sum_Kwh_inday += float.Parse(kenh4.KWhDay);
                                sum_Kwh       += float.Parse(kenh4.Kwh);
                                break;

                            case "5":
                                kenh5.Kenh     = hienthi[i].Kenh;
                                kenh5.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                                kenh5.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh5_2009) * 10f) / 10f).ToString();
                                kenh5.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh5_Kwh_last)) * 10f) / 10f).ToString();
                                sum_Kwh_inday += float.Parse(kenh5.KWhDay);
                                sum_Kwh       += float.Parse(kenh5.Kwh);
                                break;

                            case "6":
                                kenh6.Kenh     = hienthi[i].Kenh;
                                kenh6.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                                kenh6.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh6_2009) * 10f) / 10f).ToString();
                                kenh6.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh6_Kwh_last)) * 10f) / 10f).ToString();
                                sum_Kwh_inday += float.Parse(kenh6.KWhDay);
                                sum_Kwh       += float.Parse(kenh6.Kwh);
                                break;

                            default:
                                break;
                            }
                            sum_Ptotal += float.Parse(hienthi[i].Ptotal);
                        }
                    }
                    ViewBag.sumPtotal   = string.Format("{0:#,##0.##}", (float)Math.Round(sum_Ptotal * 10f) / 10f);
                    ViewBag.sumKwh      = string.Format("{0:#,##0.##}", (float)Math.Round((sum_Kwh / 1000) * 10f) / 10f);
                    ViewBag.sumKwhInday = string.Format("{0:#,##0.##}", (float)Math.Round(sum_Kwh_inday * 10f) / 10f);
                    ViewBag.gas         = gas_view;
                    ViewBag.water       = water_view;
                }
                return(View());
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }
Example #2
0
        public JsonResult GetIndexData()
        {
            using (DBModel db = new DBModel())
            {
                //Get Gas table
                var gas = db.gas.FirstOrDefault();
                var gas_recoder_begin = db.recoder_gas.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                        .Take(1).ToList().FirstOrDefault();
                var gas_view = new GasView();
                if (gas != null)
                {
                    var gas_total_last = (gas_recoder_begin != null) ? gas_recoder_begin.luu_luong_tong : "0";
                    gas_view.luu_luong_hien_tai  = ((float)Math.Round(float.Parse(gas.luu_luong_hien_tai) * 10f) / 10f).ToString();
                    gas_view.luu_luong_tong      = ((float)Math.Round(float.Parse(gas.luu_luong_tong) * 10f) / 10f).ToString();
                    gas_view.luu_luong_tong_ngay = ((float)Math.Round((float.Parse(gas.luu_luong_tong) - float.Parse(gas_total_last)) * 10f) / 10f).ToString();
                    gas_view.status = gas.status;
                }
                //Get Water table
                var water = db.water.FirstOrDefault();
                var water_recoder_begin = db.recoder_water.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                          .Take(1).ToList().FirstOrDefault();
                var water_view = new WaterView();
                if (water != null)
                {
                    var water_total_last = (water_recoder_begin != null) ? water_recoder_begin.luu_luong_tong : "0";
                    water_view.luu_luong_hien_tai  = ((float)Math.Round(float.Parse(water.luu_luong_hien_tai) * 10f) / 10f).ToString();
                    water_view.luu_luong_tong      = ((float)Math.Round(float.Parse(water.luu_luong_tong) * 10f) / 10f).ToString();
                    water_view.luu_luong_tong_ngay = ((float)Math.Round((float.Parse(water.luu_luong_tong) - float.Parse(water_total_last)) * 10f) / 10f).ToString();
                    water_view.status = water.status;
                }

                var hienthi = db.hienthi.Select(i => new HienthiOverView {
                    Kenh = i.Kenh, Ptotal = i.Ptotal, Kwh = i.Kwh, KWhDay = "0"
                }).ToList();
                //var hienthi = db.hienthi.Select(i => new { i.Kenh, i.Ptotal, i.Kwh }).ToList();
                var recoder_kenh1_begin = db.recoder_kenh1.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                          .Take(1).ToList().FirstOrDefault();
                var recoder_kenh2_begin = db.recoder_kenh2.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                          .Take(1).ToList().FirstOrDefault();
                var recoder_kenh3_begin = db.recoder_kenh3.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                          .Take(1).ToList().FirstOrDefault();
                var recoder_kenh4_begin = db.recoder_kenh4.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                          .Take(1).ToList().FirstOrDefault();
                var recoder_kenh5_begin = db.recoder_kenh5.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                          .Take(1).ToList().FirstOrDefault();
                var recoder_kenh6_begin = db.recoder_kenh6.Where(c => c.Thoigian >= startYesterdayTime && c.Thoigian <= endYesterdayTime).OrderByDescending(x => x.Thoigian)
                                          .Take(1).ToList().FirstOrDefault();

                var   kenh1            = new HienthiOverView();
                var   kenh2            = new HienthiOverView();
                var   kenh3            = new HienthiOverView();
                var   kenh4            = new HienthiOverView();
                var   kenh5            = new HienthiOverView();
                var   kenh6            = new HienthiOverView();
                float sum_ptotal       = 0;
                float sum_kwh          = 0;
                float sum_kwh_inday    = 0;
                var   hienthi_overview = new HienthiOverView();
                if (hienthi != null)
                {
                    var kenh1_Kwh_last = (recoder_kenh1_begin != null) ? recoder_kenh1_begin.Kwh : "0";
                    var kenh2_Kwh_last = (recoder_kenh2_begin != null) ? recoder_kenh2_begin.Kwh : "0";
                    var kenh3_Kwh_last = (recoder_kenh3_begin != null) ? recoder_kenh3_begin.Kwh : "0";
                    var kenh4_Kwh_last = (recoder_kenh4_begin != null) ? recoder_kenh4_begin.Kwh : "0";
                    var kenh5_Kwh_last = (recoder_kenh5_begin != null) ? recoder_kenh5_begin.Kwh : "0";
                    var kenh6_Kwh_last = (recoder_kenh6_begin != null) ? recoder_kenh6_begin.Kwh : "0";
                    for (var i = 0; i < hienthi.Count; i++)
                    {
                        switch (hienthi[i].Kenh)
                        {
                        case "1":
                            kenh1.Kenh     = hienthi[i].Kenh;
                            kenh1.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                            kenh1.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh1_2009) * 10f) / 10f).ToString();
                            kenh1.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh1_Kwh_last)) * 10f) / 10f).ToString();
                            sum_ptotal    += float.Parse(kenh1.Ptotal);
                            sum_kwh_inday += float.Parse(kenh1.KWhDay);
                            sum_kwh       += float.Parse(kenh1.Kwh);
                            break;

                        case "2":
                            kenh2.Kenh     = hienthi[i].Kenh;
                            kenh2.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                            kenh2.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh2_2009) * 10f) / 10f).ToString();
                            kenh2.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh2_Kwh_last)) * 10f) / 10f).ToString();
                            sum_ptotal    += float.Parse(kenh2.Ptotal);
                            sum_kwh_inday += float.Parse(kenh2.KWhDay);
                            sum_kwh       += float.Parse(kenh2.Kwh);
                            break;

                        case "3":
                            kenh3.Kenh     = hienthi[i].Kenh;
                            kenh3.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                            kenh3.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh3_2009) * 10f) / 10f).ToString();
                            kenh3.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh3_Kwh_last)) * 10f) / 10f).ToString();
                            sum_ptotal    += float.Parse(kenh3.Ptotal);
                            sum_kwh_inday += float.Parse(kenh3.KWhDay);
                            sum_kwh       += float.Parse(kenh3.Kwh);
                            break;

                        case "4":
                            kenh4.Kenh     = hienthi[i].Kenh;
                            kenh4.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                            kenh4.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh4_2009) * 10f) / 10f).ToString();
                            kenh4.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh4_Kwh_last)) * 10f) / 10f).ToString();
                            sum_ptotal    += float.Parse(kenh4.Ptotal);
                            sum_kwh_inday += float.Parse(kenh4.KWhDay);
                            sum_kwh       += float.Parse(kenh4.Kwh);
                            break;

                        case "5":
                            kenh5.Kenh     = hienthi[i].Kenh;
                            kenh5.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                            kenh5.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh5_2009) * 10f) / 10f).ToString();
                            kenh5.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh5_Kwh_last)) * 10f) / 10f).ToString();
                            sum_ptotal    += float.Parse(kenh5.Ptotal);
                            sum_kwh_inday += float.Parse(kenh5.KWhDay);
                            sum_kwh       += float.Parse(kenh5.Kwh);
                            break;

                        case "6":
                            kenh6.Kenh     = hienthi[i].Kenh;
                            kenh6.Ptotal   = ((float)Math.Round(float.Parse(hienthi[i].Ptotal) * 10f) / 10f).ToString();
                            kenh6.Kwh      = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - kenh6_2009) * 10f) / 10f).ToString();
                            kenh6.KWhDay   = ((float)Math.Round((float.Parse(hienthi[i].Kwh) - float.Parse(kenh6_Kwh_last)) * 10f) / 10f).ToString();
                            sum_ptotal    += float.Parse(kenh6.Ptotal);
                            sum_kwh_inday += float.Parse(kenh6.KWhDay);
                            sum_kwh       += float.Parse(kenh6.Kwh);
                            break;

                        default:
                            break;
                        }
                    }
                }
                hienthi_overview.Ptotal = ((float)Math.Round(sum_ptotal * 10f) / 10f).ToString();
                hienthi_overview.KWhDay = ((float)Math.Round(sum_kwh_inday * 10f) / 10f).ToString();
                hienthi_overview.Kwh    = ((float)Math.Round((sum_kwh / 1000) * 10f) / 10f).ToString();

                var data = new List <object>();
                data.Add(gas_view);
                data.Add(water_view);
                data.Add(hienthi_overview);

                var result = data;
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }