예제 #1
0
        private async Task GetCouponDiscountCalculations(
            double price, 
            double supportPrice, 
            CurrencyDto contentItemCurrency, 
            CurrencyDto currentCurrency, 
            ParseUser teacher, 
            CreateCouponViewModel cuponViewModel)
        {
            cuponViewModel.TeacherData.TeacherId = teacher.ObjectId;
            cuponViewModel.TeacherData.TeacherFullName = teacher.GetFullName(Language.CurrentLanguageCode);
            var  priceIncludingSupport = CurrencyConverter.Convert(price + supportPrice, contentItemCurrency, currentCurrency);
            price = CurrencyConverter.Convert(price, contentItemCurrency, currentCurrency);

            await GetTeacherCommission(cuponViewModel);
            var teacherCommissionAmount = price * cuponViewModel.TeacherData.TeacherCommissionRate;
            var teacherCommissionAmountWithSupport = priceIncludingSupport * cuponViewModel.TeacherData.TeacherCommissionRate;

            cuponViewModel.ContentItemDetails.OriginalPrice = price;
            cuponViewModel.ContentItemDetails.PriceIncludignSupport = priceIncludingSupport;
            cuponViewModel.ContentItemDetails.FormattedOriginalPrice = price.ToCurrency(currentCurrency);
            cuponViewModel.ContentItemDetails.FormattedSupportPrice = priceIncludingSupport.ToCurrency(currentCurrency);
            cuponViewModel.ContentItemDetails.Currency = contentItemCurrency;

            cuponViewModel.TeacherData.TeacherDiscountPrice = price - teacherCommissionAmount;
            cuponViewModel.TeacherData.TeacherDiscountPriceWithSupport = priceIncludingSupport - teacherCommissionAmountWithSupport;
            cuponViewModel.TeacherData.FormattedTeacherDiscountPrice = (price - teacherCommissionAmount).ToCurrency(currentCurrency);
            cuponViewModel.TeacherData.FormattedTeacherDiscountPriceWithSupport = (priceIncludingSupport - teacherCommissionAmountWithSupport).ToCurrency(currentCurrency);
        }