public Rental Build(PriceProvider priceType, string title, int daysRented) { return(new Rental(new Movie(priceType, title)) { DaysRented = daysRented }); }
public void GetButterPrice() { var priceProvider = new PriceProvider(); var milkPrice = priceProvider.GetPrice(Products.Butter); Assert.AreEqual(0.80m, milkPrice); }
public void GetPriceForItemNotInPriceList() { var priceProvider = new PriceProvider(); var price = priceProvider.GetPrice("testProduct"); Assert.AreEqual(0.0m, price); }
private async Task <DialogTurnResult> ShowPrice(WaterfallStepContext stepContext) { var context = stepContext.Context; var priceState = await priceStateAccessor.GetAsync(context); var provider = new PriceProvider(); var value = await provider.GetPrice(priceState.StockCode); var code = priceState.StockCode != priceState.StockName ? $" ({priceState.StockCode})" : ""; if (value.HasValue) { if (priceState.StockCode != priceState.StockName) { #pragma warning disable 4014 /*await - fire and forget*/ provider.AddMap(priceState.StockName, priceState.StockCode); #pragma warning restore 4014 } await context.SendActivityAsync($"Price of {priceState.StockName}{code} is {value}"); } else { await context.SendActivityAsync($"Sorry, I can't find the price of {priceState.StockName} ({priceState.StockCode})."); } //cleanup so that next dialog starts fresh priceState.StockName = null; priceState.StockCode = null; await priceStateAccessor.SetAsync(context, priceState); return(await stepContext.EndDialogAsync()); }
protected virtual async Task <ProductSearchViewModel> CreateProductSearchViewModelAsync(ProductDocument productDocument, CreateProductSearchResultsViewModelParam <TParam> createSearchViewModelParam, IDictionary <Tuple <string, string>, ProductMainImage> imgDictionary) { var cultureInfo = createSearchViewModelParam.SearchParam.Criteria.CultureInfo; string variantId = null; if (productDocument.PropertyBag.ContainsKey(VariantPropertyBagKey)) { variantId = productDocument.PropertyBag[VariantPropertyBagKey] as string; } var productSearchVm = ViewModelMapper.MapTo <ProductSearchViewModel>(productDocument, cultureInfo); productSearchVm.BrandId = ExtractLookupId("Brand_Facet", productDocument.PropertyBag); MapProductSearchViewModelInfos(productSearchVm, productDocument, cultureInfo); MapProductSearchViewModelUrl(productSearchVm, variantId, cultureInfo, createSearchViewModelParam.SearchParam.Criteria.BaseUrl); MapProductSearchViewModelImage(productSearchVm, imgDictionary); productSearchVm.IsAvailableToSell = await GetProductSearchViewModelAvailableForSell(productSearchVm, productDocument).ConfigureAwait(false); productSearchVm.Pricing = await PriceProvider.GetPriceAsync(productSearchVm.HasVariants, productDocument).ConfigureAwait(false); productSearchVm.IsEligibleForRecurring = RecurringOrdersSettings.Enabled && productDocument.PropertyBag.IsEligibleForRecurring(); productSearchVm.Context["IsEligibleForRecurring "] = productSearchVm.IsEligibleForRecurring; return(productSearchVm); }
public void GetMilkPrice() { var priceProvider = new PriceProvider(); var milkPrice = priceProvider.GetPrice(Products.Milk); Assert.AreEqual(1.15m, milkPrice); }
public void GetBreadPrice() { var priceProvider = new PriceProvider(); var breadPrice = priceProvider.GetPrice(Products.Bread); Assert.AreEqual(1.00m, breadPrice); }
public void CalculateTotal() { IList <Price.Model.Product> products = new List <Price.Model.Product>(); foreach (BasketItem bi in BasketItems) { products.Add(new Price.Model.Product(bi.ProductId, bi.Quantity)); } Total = PriceProvider.Calculate(products).Total; }
public void Setup() { var priceProvider = new PriceProvider(); this.basket = new ShoppingBasket(new TotalCalculator( new List <IDiscount> { new ButterBreadDiscount(priceProvider), new MilkDiscount(priceProvider) }, priceProvider)); }
static void Main() { Console.WriteLine("Hello YouScan!"); var priceProvider = new PriceProvider(); priceProvider.SetPricing( new List <Price> { new Price { Name = "A", ItemPrice = 125m, Volumes = new Dictionary <int, decimal> { { 3, 300 } } }, new Price { Name = "B", ItemPrice = 425m }, new Price { Name = "C", ItemPrice = 100, Volumes = new Dictionary <int, decimal> { { 6, 500 } } }, new Price { Name = "D", ItemPrice = 75m } }); var discountProvider = new DiscountProvider(); discountProvider.SetDicountTable( new List <DiscountSet> { new DiscountSet { StartingValue = 1000, Discount = 1 }, new DiscountSet { StartingValue = 2000, Discount = 3 }, new DiscountSet { StartingValue = 5000, Discount = 5 }, new DiscountSet { StartingValue = 9999, Discount = 7 } }); _terminal = new PointOfSaleTerminal(priceProvider, new DiscountCardRepository(), discountProvider); Run("ABCDABA"); Run("CCCCCCC"); Run("ABCD"); }
public PriceProviderTest() { _sut = new PriceProvider(); _sut.SetPricing( new List <Price> { new Price { Name = "A", ItemPrice = 1.25m, Volumes = new Dictionary <int, decimal> { { 3, 3 } } }, new Price { Name = "B", ItemPrice = 4.25m } } ); }
private async Task <string> TryExtractCode(string name) { var pp = new PriceProvider(); var c = pp.GetCode(name.ToLower()); if (!string.IsNullOrEmpty(c) && await pp.IsValidAsCode(c)) { return(c); } if (await pp.IsValidAsCode(name)) { return(name); } return(null); }
public void PriceProviderAddsPriceFromPricePart() { var cart = new List <ShoppingCartItem> { new ShoppingCartItem(1, BuildProduct(50.0M)), new ShoppingCartItem(4, BuildProduct(30.0M)), new ShoppingCartItem(1, BuildProduct(10.0M)) }; var priceProvider = new PriceProvider(); priceProvider.AddPrices(cart); foreach (var item in cart) { Assert.Single(item.Prices); Assert.Equal(item.Prices.Single().Price.Value, item.Product.As <PricePart>().Price.Value, 2); } }
public async void PriceProviderAddsPriceFromPricePart() { var cart = new List <ShoppingCartItem> { new ShoppingCartItem(1, "foo"), new ShoppingCartItem(4, "bar"), new ShoppingCartItem(1, "baz") }; var productService = new DummyProductService( BuildProduct("foo", 50.0M), BuildProduct("bar", 30.0M), BuildProduct("baz", 10.0M)); var priceProvider = new PriceProvider(productService); await priceProvider.AddPrices(cart); foreach (var item in cart) { Assert.Single(item.Prices); Assert.Equal(item.Prices.Single().Value, (await productService.GetProduct(item.ProductSku)).ContentItem.As <PricePart>().Price.Value, 2); } }
public async void PriceProviderAddsPriceFromPricePart() { var cart = new ShoppingCart( new ShoppingCartItem(1, "foo"), new ShoppingCartItem(4, "bar"), new ShoppingCartItem(1, "baz")); var productService = new DummyProductService( BuildProduct("foo", 50.0M), BuildProduct("bar", 30.0M), BuildProduct("baz", 10.0M)); var priceProvider = new PriceProvider(productService, new TestMoneyService()); cart = cart.With(await priceProvider.AddPrices(cart.Items)); foreach (var item in cart.Items) { Assert.Single(item.Prices); Assert.Equal( item.Prices.Single().Price.Value, (await productService.GetProduct(item.ProductSku)).ContentItem.As <PricePart>().Price.Value, precision: 2); } }
public static double _getGia(Hospital data, int maDV, int makho, string macc) => PriceProvider.GetGiaTheoNhaCungCap(data, maDV, makho, macc);
public static Gia_SoLo_HanSuDung _getGia(Hospital data, int maDV, int makho) => PriceProvider.GetGia_SoLo_HSD(data, maDV, makho);
public static double _getGiaDM(Hospital data, int maDV, int trongDM, int mabn, DateTime ngaychidinh) => PriceProvider.GetGiaDM(data, maDV, trongDM, mabn, ngaychidinh);
public static bool GiaCu(int mabn, int TrongDM, DateTime ngaychidinh) => PriceProvider.GetGiaCu(mabn, TrongDM, ngaychidinh);
public Movie(PriceProvider priceType, string title) { PriceType = priceType; Title = title; }
public static bool Update_Delete_CongKham(int _maBN, int idkb, bool update, DateTime ngaychidinh) { int _idDTBN = -1; int _madvCK = -1; int maxid = -1; double _tyleTT = 1, _Dongia = 0; string BNBHYT = ""; string _makpsd = ";"; int _makp = 0; bool ngoaigio = false; bool landenkham = false; //kiểm tra bệnh nhân đến khám lần thứ mấy trong ngày : false: lần đầu tiên; true: các lần sau Hospital DaTaContext = new Hospital(); #region kiểm tra lần đến khám var qbenhnhan = DaTaContext.BenhNhans.Single(p => p.MaBNhan == _maBN); DateTime tungaykham = FormatHelper.BeginDate(qbenhnhan.NNhap.Value); DateTime denngaykham = FormatHelper.EndDate(qbenhnhan.NNhap.Value); var bndakham = DaTaContext.BenhNhans.Where(p => qbenhnhan.IDPerson > 0 && p.IDPerson == qbenhnhan.IDPerson && p.NNhap >= tungaykham && p.NNhap <= denngaykham).ToList(); if (bndakham.Count > 1) { landenkham = true; } else { landenkham = false; } #endregion var bnhan = DaTaContext.BenhNhans.Where(p => p.MaBNhan == _maBN).FirstOrDefault(); int _mack = -1; int dtbn = -1; if (bnhan != null) { _idDTBN = bnhan.IDDTBN; if (_makp == 0) { _makp = bnhan.MaKP ?? 0; } _makpsd = ";" + bnhan.MaKP + ";"; var qchuyenkhoa = (from kp in DaTaContext.KPhongs.Where(p => p.MaKP == _makp) select kp).FirstOrDefault(); if (qchuyenkhoa != null) { _mack = qchuyenkhoa.MaCK;//?? 0; } dtbn = DaTaContext.DTBNs.Where(p => p.IDDTBN == _idDTBN).Select(p => p.HTTT).FirstOrDefault(); } var bnkbT = DaTaContext.BNKBs.Where(p => p.MaBNhan == _maBN).ToList(); var bnkb = bnkbT.Where(p => p.IDKB == idkb).ToList(); if (bnkb.Count > 0) { _mack = bnkb.First().MaCK; _makpsd = ";" + bnkb.First().MaKP + ";"; _makp = bnkb.First().MaKP == null ? 0 : bnkb.First().MaKP.Value; if (Common.MaBV == "01071") { if (CommonHelper.isWeekend(bnkb.First().NgayKham.Value) || FormatHelper.isNgoaiGioHanhChinh(bnkb.First().NgayKham.Value)) { ngoaigio = true; } } } else if (bnhan != null) { if (Common.MaBV == "01071") { if (CommonHelper.isWeekend(bnhan.NNhap.Value) || FormatHelper.isNgoaiGioHanhChinh(bnhan.NNhap.Value)) { ngoaigio = true; } } } string mackham_ck = ChuyenKhoaProvider.GetMaCongKham_ChuyenKhoa(_mack); var ckham2 = (from nhom in DaTaContext.NhomDVs.Where(p => p.TenNhomCT.Contains("Khám bệnh")) join dvu in DaTaContext.DichVus.Where(p => p.PLoai == 2 && p.Status == 1 && p.Loai == _idDTBN) on nhom.IDNhom equals dvu.IDNhom select new { dvu.MaKPsd, dvu.DonGia, dvu.DonGia2, dvu.DonGiaDV2, dvu.DonGiaBHYT, dvu.MaDV, dvu.DonVi, dvu.TrongDM, dvu.MaQD }).OrderByDescending(p => p.DonGia).ToList(); #region xác định có khai báo công khám theo chuyên khoa List <string> lck = new List <string>(); for (int i = 1; i < 18; i++) { lck.Add(i.ToString("D2") + ".1895"); lck.Add(i.ToString("D2") + ".1896"); lck.Add(i.ToString("D2") + ".1897"); lck.Add(i.ToString("D2") + ".1898"); lck.Add(i.ToString("D2") + ".1899"); } var qCheckChuyenKhoa = ckham2.Where(p => lck.Contains(p.MaQD)).ToList(); bool boolTheoChuyenKhoa = false; if (qCheckChuyenKhoa.Count > 0) { boolTheoChuyenKhoa = true; } #endregion var ckham = (from dv in ckham2 where (dv.MaKPsd != null && dv.MaKPsd.Contains(_makpsd)) select new { dv.DonGia, dv.DonGiaBHYT, dv.DonGia2, dv.DonGiaDV2, dv.MaDV, dv.DonVi, dv.TrongDM, dv.MaQD }).OrderByDescending(p => p.DonGia).ToList(); if (bnhan != null) { BNBHYT = bnhan.DTuong; if (Common.MaBV == "01071") { if (bnhan != null && dtbn != 1) { if (bnhan.CapCuu == 1)// nếu bệnh nhân cấp cứu (bệnh nhân dịch vụ lấy công khám theo chuyên khoa cấp cứu) { mackham_ck = ChuyenKhoaProvider.GetMaCongKham_ChuyenKhoa(47); } else if (ngoaigio) // nếu là bệnh nhân ngoài giờ (đang áp dụng cho bv 01071 ) { mackham_ck = _idDTBN + "." + Common.mack_theoHangBV[BenhvienProvider.GetHangBVCK(Common.MaBV)] + ".NG"; } } } if (dtbn != 1 && !boolTheoChuyenKhoa && !ngoaigio && (bnhan.CapCuu != 1 || Common.MaBV == "01017")) { mackham_ck = _idDTBN.ToString() + "." + Common.mack_theoHangBV[BenhvienProvider.GetHangBVCK(Common.MaBV)]; } //bn dịch vụ đã thiết lập công khám theo chuyên khoa khám thì lấy theo mã đó, còn nếu không lấy theo mã dv chung if (dtbn != 1 && ckham.Where(p => p.MaQD == mackham_ck).Count() == 0) { mackham_ck = _idDTBN.ToString() + "." + Common.mack_theoHangBV[BenhvienProvider.GetHangBVCK(Common.MaBV)]; } } List <int> _lmack = new List <int>(); foreach (var i in ckham) { _lmack.Add(i.MaDV); } bool kttontaick = false; bool giacu = PriceProvider.GetGiaCu(_maBN, -1, ngaychidinh); if (landenkham) { _tyleTT = 0.3; } #region tính công khám bệnh nhân foreach (var item in ckham) { if (item.MaQD == mackham_ck) { kttontaick = true; _madvCK = item.MaDV; // _Dongia = item.TrongDM == 1 ? (giacu ? item.DonGia : item.DonGiaBHYT) : (giacu ? item.DonGia : item.DonGiaDV2); _Dongia = (lck.Contains(item.MaQD) && bnhan.DTuong == "BHYT") ? (giacu ? item.DonGia : item.DonGiaBHYT) : (giacu ? item.DonGia2.Value : item.DonGiaDV2); var kt = DaTaContext.DThuocs.Where(p => p.PLDV == 2).Where(p => p.MaBNhan == _maBN).ToList(); var ktck2 = (from dt in DaTaContext.DThuocs.Where(p => p.MaBNhan == _maBN) join dtct1 in DaTaContext.DThuoccts on dt.IDDon equals dtct1.IDDon select dtct1).ToList(); var ktck = (from dt in ktck2 join b in _lmack on dt.MaDV equals b select dt).ToList(); if (update) // thêm công khám { // kiểm tra công khám có chuyên khoa rồi thì không thêm var ktckhoa = bnkbT.Where(p => p.MaCK == _mack).ToList(); if (ktckhoa.Count > 1) { continue; } // // kiểm tra kp lâm sàng không thêm công khám var ktpl = DaTaContext.KPhongs.Where(p => p.PLoai == "Lâm sàng" && p.MaKP == _makp).ToList(); if (ktpl.Count > 0) { continue; } // kiểm tra tiền công khám đã thu trực tiếp var kttu = (from tu in DaTaContext.TamUngs join tuuct in DaTaContext.TamUngcts on tu.IDTamUng equals tuuct.IDTamUng where tu.MaBNhan == _maBN && tuuct.MaDV == _madvCK select tu).ToList(); if (kt.Count <= 0) { DThuoc dthuoccd = new DThuoc(); if (bnkb.Count > 0 && bnkb.First().NgayKham != null) { dthuoccd.NgayKe = bnkb.First().NgayKham; } else { dthuoccd.NgayKe = bnhan.NNhap; } dthuoccd.MaBNhan = _maBN; dthuoccd.KieuDon = -1; dthuoccd.PLDV = 2; if (bnkb.Count > 0 && bnkb.First().MaCB != null) { dthuoccd.MaCB = bnkb.First().MaCB; } if (bnkb.Count > 0 && bnkb.First().MaKP != null) { dthuoccd.MaKP = bnkb.First().MaKP; } else { dthuoccd.MaKP = _makp; } DaTaContext.DThuocs.Add(dthuoccd); if (DaTaContext.SaveChanges() == 1) { maxid = DaTaContext.DThuocs.Where(p => p.MaBNhan == _maBN).ToList().Max(p => p.IDDon); } } else { if (ktck.Count <= 0) { maxid = kt.First().IDDon; } else { maxid = kt.First().IDDon; if (ktck.Count < 4) { _tyleTT = 0.3; } else if (ktck.Count == 4) { _tyleTT = 0.1; } else { _tyleTT = 0; } } } if (_tyleTT > 0 && (_tyleTT == 1 || (_tyleTT < 1 && BNBHYT == "BHYT"))) { DThuocct dtct = new DThuocct(); dtct.MaKP = _makp; dtct.IDDon = maxid; dtct.IDKB = idkb; dtct.MaDV = item.MaDV; dtct.SoLuong = 1; if (bnkb.Count > 0 && bnkb.First().NgayKham != null) { dtct.NgayNhap = bnkb.First().NgayKham; } else { dtct.NgayNhap = bnhan.NNhap; } dtct.DonVi = item.DonVi; dtct.DonGia = _Dongia; dtct.ThanhTien = _Dongia * _tyleTT; dtct.TrongBH = (lck.Contains(item.MaQD) && dtbn == 1) ? 1 : 0; //item.TrongDM == null ? 0 : item.TrongDM.Value; if (kttu.Count > 0) { dtct.ThanhToan = 1; } dtct.TyLeTT = _tyleTT * 100; DaTaContext.DThuoccts.Add(dtct); DaTaContext.SaveChanges(); return(true); } } else { // xóa công khám if (ktck.Count > 0) { List <DThuocct> _lxoa = (from dt in DaTaContext.DThuocs.Where(p => p.MaBNhan == _maBN) join dtct1 in DaTaContext.DThuoccts.Where(p => p.MaDV == _madvCK && p.IDKB == idkb) on dt.IDDon equals dtct1.IDDon select dtct1).ToList(); foreach (var a in _lxoa) { DaTaContext.DThuoccts.Remove(a); DaTaContext.SaveChanges(); return(true); } } } } } #endregion if (kttontaick == false) { if (ckham2.Where(p => p.MaQD == mackham_ck).ToList().Count > 0) { MessageBox.Show("Công khám trong danh mục có mã QĐ: " + mackham_ck + " chưa được chọn sử dụng cho phòng khám của bạn"); } else { MessageBox.Show("Bạn chưa thiết lập dịch vụ tiền công khám trong danh mục có mã QĐ: " + mackham_ck); } } return(false); }
public Rental Build(PriceProvider priceType, string title, int daysRented) { return new Rental(new Movie(priceType, title)) { DaysRented = daysRented }; }
/// <summary> /// Lấy giá nhập cho bệnh viện 30340 khi biết giá xuất, trong BH /// </summary> /// <param name="maDV"></param> /// <param name="DonGiaX">đơn giá xuất</param> /// <returns></returns> public static double getGiaNhapByGiaXuat(int?maDV, double DonGiaX, int trongBH) => PriceProvider.GetGiaNhapByGiaXuat(maDV, DonGiaX, trongBH);