/// <summary>
        /// Lấy giá sản phẩm cuốn
        /// </summary>
        /// <param name="sizeId">ID của bảng KHỔ SẢN PHẨM CUỐN</param>
        /// <param name="quantityId">ID của bảng SỐ LƯỢNG CUỐN</param>
        /// <param name="coverId">ID của bảng BÌA</param>
        /// <param name="bookStyleId">ID của bảng ĐÓNG CUỐN</param>
        /// <param name="blockId">ID của bảng RUỘT</param>
        /// <param name="paperId">ID của bảng GIẤY IN CUỐN</param>
        /// <param name="shipTimeId">ID của bảng THỜI GIAN GIAO</param>
        /// <returns></returns>
        public decimal?GetPriceOfBookProduct(string sizeId, string quantityId, string coverId, string bookStyleId, string blockId, string paperId, string shipTimeId)
        {
            /**
             * Kiểm tra chứng thực
             */

            if (!AuthenticateViaAuthorizationHeader())
            {
                return(null);
            }

            /**
             * Tính giá
             */

            var parameters = new Dictionary <string, object>();

            parameters.Add("ID_KHO_SAN_PHAM", sizeId);
            parameters.Add("ID_SO_LUONG_CUON", quantityId);
            parameters.Add("ID_BIA", coverId);
            parameters.Add("ID_DONG_CUON", bookStyleId);
            parameters.Add("ID_RUOT", blockId);
            parameters.Add("ID_GIAY_IN_RUOT", paperId);
            parameters.Add("ID_THOI_GIAN_GIAO", shipTimeId);
            //--Dz- lay SKU SP
            var sku_SanPham = RestDbExecutor.ExecuteScalar("SELECT SKU_SAN_PHAM FROM BIA_SPC WHERE ID = @ID_BIA", parameters);
            //--dz-end
            var GIA_BIA_RAW        = RestDbExecutor.ExecuteScalar("SELECT DON_GIA FROM GIA_BIA_SPC WHERE ID_KHO_SAN_PHAM = @ID_KHO_SAN_PHAM AND ID_SO_LUONG_CUON = @ID_SO_LUONG_CUON AND ID_BIA = @ID_BIA", parameters);
            var GIA_DONG_CUON_RAW  = RestDbExecutor.ExecuteScalar("SELECT DON_GIA FROM GIA_DONG_CUON_SPC WHERE ID_KHO_SAN_PHAM = @ID_KHO_SAN_PHAM AND ID_SO_LUONG_CUON = @ID_SO_LUONG_CUON AND ID_DONG_CUON = @ID_DONG_CUON", parameters);
            var GIA_IN_RUOT_RAW    = RestDbExecutor.ExecuteScalar("SELECT DON_GIA FROM GIA_IN_RUOT_SPC WHERE ID_KHO_SAN_PHAM = @ID_KHO_SAN_PHAM AND ID_SO_LUONG_CUON = @ID_SO_LUONG_CUON AND ID_RUOT = @ID_RUOT", parameters);
            var GIAY_GIAY_RUOT_RAW = RestDbExecutor.ExecuteScalar("SELECT DON_GIA FROM GIA_GIAY_RUOT_SPC WHERE ID_KHO_SAN_PHAM = @ID_KHO_SAN_PHAM AND ID_SO_LUONG_CUON = @ID_SO_LUONG_CUON AND ID_RUOT = @ID_RUOT AND ID_GIAY_IN_RUOT = @ID_GIAY_IN_RUOT", parameters);
            var PHAN_TRAM_GIA_RAW  = RestDbExecutor.ExecuteScalar("SELECT PHAN_TRAM_GIA FROM GIA_THOI_GIAN_GIAO_SPC WHERE ID_KHO_SAN_PHAM = @ID_KHO_SAN_PHAM AND ID_SO_LUONG_CUON = @ID_SO_LUONG_CUON AND ID_THOI_GIAN_GIAO = @ID_THOI_GIAN_GIAO", parameters);

            var GIA_BIA        = GIA_BIA_RAW != DBNull.Value ? Convert.ToDecimal(GIA_BIA_RAW) : 0;
            var GIA_DONG_CUON  = GIA_IN_RUOT_RAW != DBNull.Value ? Convert.ToDecimal(GIA_DONG_CUON_RAW) : 0;
            var GIA_IN_RUOT    = GIA_IN_RUOT_RAW != DBNull.Value ? Convert.ToDecimal(GIA_IN_RUOT_RAW) : 0;
            var GIAY_GIAY_RUOT = GIAY_GIAY_RUOT_RAW != DBNull.Value ? Convert.ToDecimal(GIAY_GIAY_RUOT_RAW) : 0;
            var PHAN_TRAM_GIA  = PHAN_TRAM_GIA_RAW != DBNull.Value ? Convert.ToDecimal(PHAN_TRAM_GIA_RAW) : 0;

            //-Dzung-Tinh toan gia. chỉ sửa đoạn này để lồng vô
            var cauHinhInCuon    = new CauHinhTinhGiaCuon((string)sku_SanPham, int.Parse(sizeId), int.Parse(quantityId), int.Parse(blockId), int.Parse(paperId));
            var giaInGiayCanMang = TinhToanCuon.GiaIn(cauHinhInCuon) + TinhToanCuon.GiaGiayRuot(cauHinhInCuon) + TinhToanCuon.GiaCanMang(cauHinhInCuon);
            //--Dzung--end

            //var GIA_TONG1 = GIA_BIA + GIA_DONG_CUON + GIA_IN_RUOT + GIAY_GIAY_RUOT;
            var GIA_TONG1     = GIA_BIA + GIA_DONG_CUON + giaInGiayCanMang;
            var GIA_THOI_GIAN = GIA_TONG1 * (PHAN_TRAM_GIA / 100);

            var GIA_TONG = GIA_TONG1 + GIA_THOI_GIAN;


            /**
             * Hỗ trợ CORS
             */

            AllowCORS();

            return(GIA_TONG);
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            //Console.WriteLine("tổng record test: {0}", KhoCuonBDO.LayTatCa("MENU-LO-XO").Count());//OK
            //Console.WriteLine("tổng record test: {0}", KhoCuonBDO.LayTheoID(1, "MENU-LO-XO").TEN_KHO);//OK
            CauHinhTinhGiaCuon cHGiaCuon = new CauHinhTinhGiaCuon("MENU-LO-XO", 1, 1, 2, 1);

            Console.WriteLine("Tính giá in cuốn: {0}", TinhToanCuon.GiaIn(cHGiaCuon));//OK
            //Console.WriteLine("Tính giá cán màng: {0}", TinhPhi.GiaCanMang("MENU-LO-XO", 1, 1, 2, 1));//OK
            //var cauHinhTGCuon = new CauHinhTinhGiaCuon("CATALO-KIM",7, 6, 9, 3);
            //Console.WriteLine("Tính giá in: {0}", TinhToanCuon.GiaIn(cauHinhTGCuon));//OK
            //Console.WriteLine("Tính giá Giấy: {0}", TinhPhi.GiaGiayRuot(cauHinhTGCuon("MENU-LO-XO", 1, 1, 2, 1));
            //var cauHinhTGPHang = new CauHinhTinhGiaPhang("DANH-THIEP-THUONG", 1, 1, 1, 1);
            //Test tính giá Phẳng
            //Console.WriteLine("Tính giá in phẳng: {0}", TinhToanPhang.GiaIn(cauHinhTGPHang));//OK
            //Console.WriteLine("Tính cán màng phẳng: {0}", TinhToanPhang.GiaCanMang(cauHinhTGPHang, "CM-1"));//OK
            Console.ReadLine();
        }