Beispiel #1
0
        public virtual coreModel.Pricelist CreatePricelist(coreModel.Pricelist priceList)
        {
            var entity = priceList.ToDataModel();

            using (var repository = _repositoryFactory())
            {
                repository.Add(entity);
                CommitChanges(repository);
            }

            return(GetPricelistById(entity.Id));
        }
Beispiel #2
0
        public virtual coreModel.Price CreatePrice(coreModel.Price price)
        {
            var entity = price.ToDataModel();

            using (var repository = _repositoryFactory())
            {
                //Need assign price to default pricelist with same currency or create it if not exist
                if (price.PricelistId == null)
                {
                    var defaultPriceListId = GetDefaultPriceListName(price.Currency);
                    var dbDefaultPriceList = repository.GetPricelistById(defaultPriceListId);

                    if (dbDefaultPriceList == null)
                    {
                        var defaultPriceList = new coreModel.Pricelist
                        {
                            Id          = defaultPriceListId,
                            Currency    = price.Currency,
                            Name        = defaultPriceListId,
                            Description = defaultPriceListId
                        };
                        dbDefaultPriceList = defaultPriceList.ToDataModel();
                    }
                    entity.PricelistId = dbDefaultPriceList.Id;
                    entity.Pricelist   = dbDefaultPriceList;

                    repository.Add(entity);

                    CommitChanges(repository);
                    //Automatically create catalog assignment
                    TryToCreateCatalogAssignment(entity, repository);
                    ResetCache();
                }
            }
            price.Id = entity.Id;
            var retVal = GetPriceById(entity.Id);

            return(retVal);
        }
        public virtual coreModel.Price CreatePrice(coreModel.Price price)
        {
            var entity = price.ToDataModel();

			using (var repository = _repositoryFactory())
			{
				//Need assign price to default pricelist with same currency or create it if not exist
				if (price.PricelistId == null)
				{
					var defaultPriceListId = GetDefaultPriceListName(price.Currency);
					var dbDefaultPriceList = repository.GetPricelistById(defaultPriceListId);

					if (dbDefaultPriceList == null)
					{
						var defaultPriceList = new coreModel.Pricelist
						{
							Id = defaultPriceListId,
							Currency = price.Currency,
							Name = defaultPriceListId,
							Description = defaultPriceListId
						};
						dbDefaultPriceList = defaultPriceList.ToDataModel();
					}
					entity.PricelistId = dbDefaultPriceList.Id;
					entity.Pricelist = dbDefaultPriceList;

					repository.Add(entity);
				
					CommitChanges(repository);
					//Automatically create catalog assignment 
					TryToCreateCatalogAssignment(entity, repository);
				}

			}
			price.Id = entity.Id;
			var retVal = GetPriceById(entity.Id);
            return retVal;
        }