Exemplo n.º 1
0
 public CalculatePrices(PriceListRepository priceLists, OfferModifiers offerModifiers,
                        ExchangeRateProvider exchangeRates)
 {
     _priceLists     = priceLists;
     _offerModifiers = offerModifiers;
     _exchangeRates  = exchangeRates;
 }
Exemplo n.º 2
0
        public void AddPriceList(PriceList priceList)
        {
            var priceListRep = new PriceListRepository();
            var category     = _stockService.GetCategoryByName(priceList.Product.Category.Name);

            if (category == null)
            {
                var categoryAdd = new Category {
                    Name = priceList.Product.Category.Name
                };
                var categoryRep = new CategoryRepository();
                category = categoryRep.Add(categoryAdd);
            }

            var product = _stockService.GetProductByName(priceList.Product.Name);

            if (product == null)
            {
                var productAdd = new Product {
                    Name = priceList.Product.Name, Category = category
                };
                var productRep = new ProductRepository();
                product = productRep.Add(productAdd);
            }

            priceList.Product = product;
            priceListRep.Add(priceList);
        }
Exemplo n.º 3
0
        public List <PriceList> GetProducts()
        {
            var priceListRepo = new PriceListRepository();
            var pricesList    = priceListRepo
                                .Get()
                                .Include(p => p.Product)
                                .Include(p => p.Product.Category)
                                .ToList();

            return(pricesList);
        }
Exemplo n.º 4
0
        public void  CopyPriceList(string touroperator, string sourceSiteCode, string sourceOfferCode, PriceListType sourcePriceListType,
                                   string targetSiteCode, string targetUitCode, string targetOfferCode, PriceListType targetPriceListType,
                                   decimal factor)
        {
            //uzmi cijene koje treba da budu kopirane
            var sourcePriceList = PriceListRepository.GetPriceList(touroperator, sourceSiteCode, sourceOfferCode, sourcePriceListType);
            //uzmi id od cjenovnika u koji treba da bude kopirano
            string targetId = PriceListRepository.GetPriceList(touroperator, targetSiteCode, targetOfferCode, targetPriceListType).id;

            //kopiraj cjene u aktuelni cjenovnik
            PriceListRepository.ReplacePriceList(sourcePriceList, targetId, factor);
        }
Exemplo n.º 5
0
        //public void UpdateRestTrxFee()
        //{

        //    try
        //    {
        //        var list =TransactionsViewRepository.GetMany(
        //                    x => x.Fee == 0 && x.Amount > 0
        //                        && x.TransactionDate.Year >= 2014
        //                    //x.TransactionTypeId == (byte) BillingEnums.eTransactionTypes.InitialSubscriptionPayment &&
        //                       && (x.PaymentMethodId == (byte)BillingEnums.ePaymentMethods.Credit_Card) || x.PaymentMethodId == (byte)BillingEnums.ePaymentMethods.Saved_Instrument).ToList();
        //        var cnt = 0;

        //        foreach (var row in list)
        //        {
        //            var trx = _paypalManageServies.GetRestPaymentDetails(row.ExternalTransactionID);

        //            //if(trx ==null || trx.Ack != AckCodeType.SUCCESS) continue;

        //            //var fee = trx.PaymentTransactionDetails.PaymentInfo.FeeAmount.value;

        //            //if(fee==null) continue;

        //            //var entity = TransactionRepository.GetById(row.TransactionId);

        //            //if(entity==null) continue;

        //            //entity.Fee = Convert.ToDecimal(fee);

        //            //entity.UpdateDate = DateTime.Now;

        //            //if(!TransactionRepository.UnitOfWork.CommitAndRefreshChanges()) continue;
        //            cnt++;
        //        }
        //    }
        //    catch (Exception)
        //    {

        //    }
        //}

        //public void ImportPrices()
        //{
        //    using (var context = new lfeAuthorEntities())
        //    {
        //        #region courses
        //        var courses = context.Courses.Where(x => !x.IsFreeCourse).ToList();

        //        foreach (var course in courses)
        //        {
        //            var courseId = course.Id;

        //            BILL_ItemsPriceList entity;

        //            if (course.PriceUSD != null)
        //            {
        //                if (context.BILL_ItemsPriceList.Any(x => x.ItemId == courseId
        //                                                        && x.ItemTypeId == (byte)BillingEnums.ePurchaseItemTypes.COURSE
        //                                                        && x.PriceTypeId == (byte)BillingEnums.ePricingTypes.ONE_TIME
        //                                                        && x.CurrencyId == DEFAULT_CURRENCY_ID)
        //                                                    ) continue;


        //                entity = new BILL_ItemsPriceList
        //                {
        //                    ItemId       = courseId
        //                    ,ItemTypeId  = (byte)BillingEnums.ePurchaseItemTypes.COURSE
        //                    ,PriceTypeId = (byte)BillingEnums.ePricingTypes.ONE_TIME
        //                    ,Price       = (decimal) course.PriceUSD
        //                    ,CurrencyId  = DEFAULT_CURRENCY_ID
        //                    ,IsDeleted   = false
        //                    ,AddOn       = DateTime.Now
        //                };

        //                context.BILL_ItemsPriceList.Add(entity);

        //                context.SaveChanges();
        //            }

        //            if (course.MonthlySubscriptionPriceUSD == null) continue;


        //            if (context.BILL_ItemsPriceList.Any(x => x.ItemId == courseId
        //                                                     && x.ItemTypeId == (byte)BillingEnums.ePurchaseItemTypes.COURSE
        //                                                     && x.PriceTypeId == (byte)BillingEnums.ePricingTypes.SUBSCRIPTION
        //                                                     && x.PeriodTypeId == (byte)BillingEnums.eBillingPeriodType.MONTH
        //                                                     && x.CurrencyId == DEFAULT_CURRENCY_ID)
        //                ) continue;


        //                entity = new BILL_ItemsPriceList
        //                {
        //                    ItemId        = courseId
        //                    ,ItemTypeId   = (byte)BillingEnums.ePurchaseItemTypes.COURSE
        //                    ,PriceTypeId  = (byte)BillingEnums.ePricingTypes.SUBSCRIPTION
        //                    ,PeriodTypeId = (byte)BillingEnums.eBillingPeriodType.MONTH
        //                    ,Price        = (decimal) course.MonthlySubscriptionPriceUSD
        //                    ,CurrencyId   = DEFAULT_CURRENCY_ID
        //                    ,IsDeleted    = false
        //                    ,AddOn        = DateTime.Now
        //                };

        //                context.BILL_ItemsPriceList.Add(entity);

        //                context.SaveChanges();
        //        }
        //        #endregion

        //        #region bundle
        //        var bundles = context.CRS_Bundles.ToList();

        //        foreach (var bundle in bundles)
        //        {
        //            var courseId = bundle.BundleId;

        //            BILL_ItemsPriceList entity;

        //            if (bundle.Price != null)
        //            {
        //                if (context.BILL_ItemsPriceList.Any(x => x.ItemId == courseId
        //                                                        && x.ItemTypeId == (byte)BillingEnums.ePurchaseItemTypes.BUNDLE
        //                                                        && x.PriceTypeId == (byte)BillingEnums.ePricingTypes.ONE_TIME
        //                                                        && x.CurrencyId == DEFAULT_CURRENCY_ID)
        //                                                    ) continue;


        //                entity = new BILL_ItemsPriceList
        //                {
        //                    ItemId       = courseId
        //                    ,ItemTypeId  = (byte)BillingEnums.ePurchaseItemTypes.BUNDLE
        //                    ,PriceTypeId = (byte)BillingEnums.ePricingTypes.ONE_TIME
        //                    ,Price       = (decimal) bundle.Price
        //                    ,CurrencyId  = DEFAULT_CURRENCY_ID
        //                    ,IsDeleted   = false
        //                    ,AddOn       = DateTime.Now
        //                };

        //                context.BILL_ItemsPriceList.Add(entity);

        //                context.SaveChanges();
        //            }

        //            if (bundle.MonthlySubscriptionPrice == null) continue;


        //            if (context.BILL_ItemsPriceList.Any(x => x.ItemId == courseId
        //                                                     && x.ItemTypeId == (byte)BillingEnums.ePurchaseItemTypes.BUNDLE
        //                                                     && x.PriceTypeId == (byte)BillingEnums.ePricingTypes.SUBSCRIPTION
        //                                                     && x.PeriodTypeId == (byte)BillingEnums.eBillingPeriodType.MONTH
        //                                                     && x.CurrencyId == DEFAULT_CURRENCY_ID)
        //                ) continue;


        //                entity = new BILL_ItemsPriceList
        //                {
        //                    ItemId        = courseId
        //                    ,ItemTypeId   = (byte)BillingEnums.ePurchaseItemTypes.BUNDLE
        //                    ,PriceTypeId  = (byte)BillingEnums.ePricingTypes.SUBSCRIPTION
        //                    ,PeriodTypeId = (byte)BillingEnums.eBillingPeriodType.MONTH
        //                    ,Price        = (decimal) bundle.MonthlySubscriptionPrice
        //                    ,CurrencyId   = DEFAULT_CURRENCY_ID
        //                    ,IsDeleted    = false
        //                    ,AddOn        = DateTime.Now
        //                };

        //                context.BILL_ItemsPriceList.Add(entity);

        //                context.SaveChanges();
        //        }
        //        #endregion
        //    }
        //}

        public void UpdateFreeCourses()
        {
            try
            {
                var lines = CourseRepository.GetMany(x => x.IsFreeCourse).ToList();

                foreach (var course in lines)
                {
                    var current  = course;
                    var isExists = PriceListRepository.IsAny(x => x.ItemId == current.Id &&
                                                             x.ItemTypeId == (byte)BillingEnums.ePurchaseItemTypes.COURSE &&
                                                             x.PriceTypeId == (byte)BillingEnums.ePricingTypes.FREE &&
                                                             !x.IsDeleted);

                    if (isExists)
                    {
                        continue;
                    }

                    var dto = new PriceLineDTO
                    {
                        ItemId = course.Id
                        ,
                        ItemType = BillingEnums.ePurchaseItemTypes.COURSE
                        ,
                        PriceType = BillingEnums.ePricingTypes.FREE
                        ,
                        Price = 0
                        ,
                        Currency = new BaseCurrencyDTO {
                            CurrencyId = DEFAULT_CURRENCY_ID
                        }
                    };

                    var entity = dto.Token2PriceLineEntity();

                    PriceListRepository.Add(entity);

                    PriceListRepository.UnitOfWork.CommitAndRefreshChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        private LineItem Sku2LineItem(Item sku, decimal quantity)
        {
            var session = CustomerSessionService.CustomerSession;
            var price   = PriceListRepository.FindLowestPrice(session != null ? session.Pricelists : null, sku.ItemId, quantity);
            var retVal  = new LineItem
            {
                CatalogItemId   = sku.ItemId,
                CatalogItemCode = sku.Code,
                DisplayName     = sku.Name,
                Quantity        = quantity,
                Catalog         = sku.CatalogId,
                MaxQuantity     = sku.MaxQuantity,
                MinQuantity     = sku.MinQuantity,
                PlacedPrice     = price != null ? (price.Sale ?? price.List) : 0,
                ListPrice       = price != null ? (price.Sale ?? price.List) : 0,
                CatalogOutline  = OutlineBuilder.BuildCategoryOutline(CustomerSessionService.CustomerSession.CatalogId, sku.ItemId).ToString()
            };

            return(retVal);
        }
Exemplo n.º 7
0
 public List <Data> GetTouristCodes()
 {
     return(PriceListRepository.GetDataTouristOperators());
 }
Exemplo n.º 8
0
 public void SavePartialModelSpecialPrices(string id, List <SpecialPrices> partModelList)
 {
     PriceListRepository.SavePartialPriceListModel(id, partModelList);
 }
Exemplo n.º 9
0
 public void SavePartialModelSeasonUnitCondition(string id, List <SeasonUnitCondition> partModelList)
 {
     PriceListRepository.SavePartialPriceListModel(id, partModelList);
 }
Exemplo n.º 10
0
 public void SavePartialModelSeasonUnitAvailability(string id, List <SeasonUnitAvailability> partModelList)
 {
     PriceListRepository.SavePartialPriceListModel(id, partModelList);
 }
Exemplo n.º 11
0
 public void SavePartialModelPaymentMode(string id, List <PaymentMode> partModelList)
 {
     PriceListRepository.SavePartialPriceListModel(id, partModelList);
 }
Exemplo n.º 12
0
 public string GetPriceListId(string touroperator, string siteCode, string offerCode, PriceListType pType)
 {
     return(PriceListRepository.GetModel(touroperator, siteCode, offerCode, pType).id);
 }
Exemplo n.º 13
0
 public PriceListModel GetModel(string tourOperatorCode, string siteCode, string offerCode, PriceListType pType)
 {
     return(PriceListRepository.GetModel(tourOperatorCode, siteCode, offerCode, pType));
 }
Exemplo n.º 14
0
 public List <Data> GetTouristSites(string touroperator)
 {
     return(PriceListRepository.GetDataSiteCodes(touroperator));
 }
Exemplo n.º 15
0
 public void SavePartialModelSeasonUnitService(string id, List <SeasonUnitService> partModelList)
 {
     PriceListRepository.SavePartialPriceListModel(id, partModelList);
 }
Exemplo n.º 16
0
 public List <Data> GetUnitOffers(string sitecode)
 {
     return(PriceListRepository.GetDataOfferCodes(sitecode));
 }
Exemplo n.º 17
0
 public List <Data> GetPriceListTypes(string sitecode, string offercode)
 {
     return(PriceListRepository.GetDataPriceListTypes(sitecode, offercode));
 }