Exemplo n.º 1
0
        public TonThatModel SanLuongKhachHangTrenDMA(string maDMA, int nam, int ky)
        {
            try
            {
                var sanLuongKHDAO   = new SanLuongKhachHangDAO();
                var duLieuKhachHang = sanLuongKHDAO.SanLuongDMATheoThoiGian(maDMA, nam, ky);

                int soLuongKH = duLieuKhachHang.Count();

                double tongSanLuong =
                    soLuongKH > 0 ?
                    duLieuKhachHang.Sum(s => (s.TIEUTHU.HasValue == true ? (double)s.TIEUTHU.Value : 0.0))
                : 0;

                return(new TonThatModel()
                {
                    SanLuongKH = tongSanLuong,
                    SoLuongKH = soLuongKH
                });
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Exemplo n.º 2
0
        public ILIModel ILI(float P)
        {
            try
            {
                using (var context = new GISEntities())
                {
                    var sanLuongDAO     = new SanLuongKhachHangDAO();
                    var tongSanLuongDMA = this.TongSanLuongDMA();
                    var tongTieuThu     = sanLuongDAO.TongSanLuong();
                    var query           = context.Database.SqlQuery <ILIModel>(String.Format("exec ILI {0}, {1}, {2}", P, tongSanLuongDMA, tongTieuThu));
                    var resultQuery     = query.DefaultIfEmpty(new ILIModel
                    {
                        CAPL    = 0,
                        MAAPL   = 0,
                        LM      = 0,
                        NC      = 0,
                        LP      = 0,
                        P       = 0,
                        Group   = string.Empty,
                        Summary = string.Empty
                    }).SingleOrDefault();

                    resultQuery.Group = (resultQuery.ILI >= 1 && resultQuery.ILI <= 4) ? "A" :
                                        (resultQuery.ILI > 4 && resultQuery.ILI <= 8) ? "B" :
                                        (resultQuery.ILI > 8 && resultQuery.ILI <= 16) ? "C" :
                                        resultQuery.ILI > 16 ? "D" : "Không xác định";
                    resultQuery.Summary =
                        resultQuery.Group.Equals("A") == true ? @"Giảm thất thoát nước hơn nữa có thể không hiệu quả về mặt kinh tế. Cần phân tích kỹ để xác định những cải thiện hiệu quả về mặt chi phí" :
                        resultQuery.Group == "B" ? @"Có tiềm năng cải thiện. Xem xét: quản lý áp lực, các biện pháp kiểm soát rò rỉ chủ động tốt hơn và bảo dưỡng tốt hơn." :
                        resultQuery.Group == "C" ?
                        @"Chỉ cho phép nếu lực lượng nước nhiều và giá rẻ. Cần củng cố các nỗ lực giảm NRW" :
                        resultQuery.Group == "D" ? @"Sử dụng các nguồn lực thiếu hiệu quả. Các chương trình giảm NRW là bắt buộc và ưu tiên." :
                        "Không có đánh giá";
                    return(resultQuery);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }