public HttpResponseMessage Put(int id, [FromBody] ProductFamily prodFamily) { try { var targetProdFamily = _theProductFamilyRepo.GetById(id); if (targetProdFamily != null && targetProdFamily.Id == id) { targetProdFamily.Name = prodFamily.Name; targetProdFamily.Description = prodFamily.Description; targetProdFamily.DateCreated = prodFamily.DateCreated; targetProdFamily.DateUpdated = prodFamily.DateUpdated; targetProdFamily.Licenses = prodFamily.Licenses; // targetProdFamily.Products = prodFamily.Products; _theProductFamilyRepo.Update(prodFamily); var productFamilyModel = TheModelFactory.Create(prodFamily); productFamilyModel.Id = id; return(Request.CreateResponse(HttpStatusCode.OK, productFamilyModel)); } else { return(Request.CreateResponse(HttpStatusCode.NotModified, "Not found the product family")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public static Product ToProduct(this CsvOperationModel csvOperationModel, ProductFamily productFamily = null, Product product = null) { if (product == null) { product = new Product(); product.ProductDetails = new List <ProductDetail>(); } product.Price = csvOperationModel.CsvItem.Price; product.DiscountPrice = csvOperationModel.CsvItem.DiscountPrice; product.Sku = csvOperationModel.CsvItem.Sku; if (productFamily != null) { product.ProductFamily = productFamily; } else { product.ProductFamily = new ProductFamily { Category = csvOperationModel.CsvItem.Category, Code = csvOperationModel.CsvItem.FamilyCode }; } UpdateDetails(product, nameof(csvOperationModel.CsvItem.Brand), csvOperationModel.CsvItem.Brand); UpdateDetails(product, nameof(csvOperationModel.CsvItem.Color), csvOperationModel.CsvItem.Color); UpdateDetails(product, nameof(csvOperationModel.CsvItem.Delivery), csvOperationModel.CsvItem.Delivery); UpdateDetails(product, nameof(csvOperationModel.CsvItem.Size), csvOperationModel.CsvItem.Size); UpdateDetails(product, nameof(csvOperationModel.CsvItem.Type), csvOperationModel.CsvItem.Type); return(product); }
public void UpdateProductFamilyDetail_SuccessfullyWhenPriorityEqualandDirectionnotlessthenZero(int ID, string descriptionAdd) { var productFamilyDto = new ProductFamilyDto { Id = ID, Description = descriptionAdd, Priority = 2 }; var updatedProductFamily = new ProductFamily { ID = ID, Description = descriptionAdd, }; _productFamilyRepository.Find(productFamilyDto.Id).ReturnsForAnyArgs(LoadProductFamilyList().FirstOrDefault(x => x.ID == productFamilyDto.Id)); _productFamilyRepository.GetAll().ReturnsForAnyArgs(LoadProductFamilyList()); _productFamilyRepository.Update(Arg.Any <ProductFamily>()).Returns(updatedProductFamily); var actualResult = _adminProcessor.SaveProductFamily(productFamilyDto); Assert.AreEqual(updatedProductFamily.ID, actualResult.ID); }
public static ProductFamily CreateProductFamily(int ID) { ProductFamily productFamily = new ProductFamily(); productFamily.ID = ID; return(productFamily); }
/// <summary> /// Sets the variant prices from base product. /// </summary> /// <param name="productFamily">The product family.</param> /// <param name="extendedPrice">The extended price.</param> /// <param name="isLowestPriceVariantSpecified">if set to <c>true</c> the lowest priced variant adjusted price is returned.</param> /// <param name="isLowestPriceVariantListPriceSpecified">if set to <c>true</c> the lowest priced variant list price is returned.</param> /// <param name="isHighestPriceVariantSpecified">if set to <c>true</c> the highest priced variant adjusted price.</param> protected virtual void SetVariantPricesFromBaseProduct(ProductFamily productFamily, ExtendedCommercePrice extendedPrice, bool isLowestPriceVariantSpecified, bool isLowestPriceVariantListPriceSpecified, bool isHighestPriceVariantSpecified) { decimal lowestPricedVariantAdjustedPrice; decimal lowestPricedVariantListPrice; if (productFamily.HasProperty("BasePrice") && productFamily["BasePrice"] != null) { lowestPricedVariantAdjustedPrice = productFamily.ListPrice; lowestPricedVariantListPrice = (productFamily["BasePrice"] as decimal?).Value; } else { // No base price is defined, the List price is set to the actual ListPrice define in the catalog lowestPricedVariantAdjustedPrice = productFamily.ListPrice; lowestPricedVariantListPrice = productFamily.ListPrice; } if (isLowestPriceVariantSpecified) { extendedPrice.LowestPricedVariant = lowestPricedVariantAdjustedPrice; } if (isLowestPriceVariantListPriceSpecified) { extendedPrice.LowestPricedVariantListPrice = lowestPricedVariantListPrice; } }
/// <summary> /// Support for replacing a ProductFamily /// </summary> public async Task <IActionResult> Put([FromODataUri] int key, ProductFamily family) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (key != family.Id) { return(BadRequest()); } _db.Entry(family).State = EntityState.Modified; try { await _db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!_db.ProductFamilies.Any(p => p.Id == key)) { return(NotFound()); } throw; } return(Ok(family)); }
public CommodityGroupWrapper(RequestContext context) : base(context, SupportedResourceKinds.commodityGroups) { _entity = new ProductFamily(); _transformation = TransformationFactory.GetTransformation <ITransformation <ProductFamilyDocument, CommodityGroupPayload> > (SupportedResourceKinds.commodityGroups, context); }
public static ProductFamily CreateProductFamily(int ID, long longProperty) { ProductFamily productFamily = new ProductFamily(); productFamily.ID = ID; productFamily.LongProperty = longProperty; return(productFamily); }
public static string GetProductFamily(RestCommand command, int productFamilyID) { ProductFamily productFamily = ProductFamilies.GetProductFamily(command.LoginUser, productFamilyID); if (productFamily.OrganizationID != command.Organization.OrganizationID) { throw new RestException(HttpStatusCode.Unauthorized); } return(productFamily.GetXml("ProductFamily", true)); }
public ProductFamilyModel Create(ProductFamily prodFamily) { return(new ProductFamilyModel() { Id = prodFamily.Id, Name = prodFamily.Name, Description = prodFamily.Description, DateCeated = prodFamily.DateCreated, DateUpdated = prodFamily.DateUpdated }); }
/// <summary> /// Sets the variant prices. /// </summary> /// <param name="productFamily">The product family.</param> /// <param name="extendedPrice">The extended price.</param> /// <param name="isLowestPriceVariantSpecified">if set to <c>true</c> the lowest priced variant adjusted price is returned.</param> /// <param name="isLowestPriceVariantListPriceSpecified">if set to <c>true</c> the lowest priced variant list price is returned.</param> /// <param name="isHighestPriceVariantSpecified">if set to <c>true</c> the highest priced variant adjusted price.</param> protected virtual void SetVariantPrices(ProductFamily productFamily, ExtendedCommercePrice extendedPrice, bool isLowestPriceVariantSpecified, bool isLowestPriceVariantListPriceSpecified, bool isHighestPriceVariantSpecified) { if (this.UseProductBasePriceAsVariantPrice) { this.SetVariantPricesFromBaseProduct(productFamily, extendedPrice, isLowestPriceVariantSpecified, isLowestPriceVariantListPriceSpecified, isHighestPriceVariantSpecified); } else { this.SetVariantPricesFromProductVariants(productFamily, extendedPrice, isLowestPriceVariantSpecified, isLowestPriceVariantListPriceSpecified, isHighestPriceVariantSpecified); } }
public ATDFramework( int partNumber, ProductFamily productFamily, string productName, int cureTimeInMinutes) { partNumber = _partNumber; productFamily = _productFamily; productName = _productName; cureTimeInMinutes = _cureTimeInMinutes; }
public async Task <IActionResult> CreateProductFamily([FromBody] ProductFamily productFamily) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _db.ProductFamilies.Add(productFamily); await _db.SaveChangesAsync(); return(Created(productFamily)); }
// POST api/ProductFamily public HttpResponseMessage Post([FromBody] ProductFamily prodFamily) { try { _theProductFamilyRepo.Insert(prodFamily); return(Request.CreateResponse(HttpStatusCode.Created, TheModelFactory.Create(prodFamily))); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public void CreateNewProduct( int partNumber, ProductFamily productFamily, string productName, int cureTimeInMinutes) { ATDFramework atd = new ATDFramework( partNumber, productFamily, productName, cureTimeInMinutes); }
public static void Delete(ProductFamily entry) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(String.Format(@"DELETE FROM {1} WHERE [Code] = N'{0}'", entry.Code, DataDictionaryEntryDa.GetDictionaryTableName(DictionaryName.QiProductFamily))); try { db.ExecuteNonQuery(dbCommand); } catch (System.Data.SqlClient.SqlException sex) // 只捕获SqlException,其余抛出继续传播 { DBHelper.ParseSqlException(sex, true); } }
public void ProductFamily_Can_Create_Simple() { // Arrange var newFamily = new ProductFamily() { Name = string.Format("Test{0}", Guid.NewGuid().ToString()) }; // Act var result = Chargify.CreateProductFamily(newFamily); // Assert Assert.IsNotNull(result); //Assert.IsInstanceOfType(result, typeof(IProductFamily)); Assert.AreEqual(newFamily.Name, result.Name, "Name didn't match"); Assert.AreEqual(newFamily.Name.ToLowerInvariant(), result.Handle, "Handle wasn't as expected"); }
public static void Delete(ProductFamily entry) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(String.Format(@"DELETE FROM {1} WHERE [Code] = N'{0}'", entry.Code, DataDictionaryEntryDa.GetDictionaryTableName(DictionaryName.QiProductFamily))); try { db.ExecuteNonQuery(dbCommand); } catch (System.Data.SqlClient.SqlException sex) // 只捕获SqlException,其余抛出继续传播 { DBHelper.ParseSqlException(sex, true); } }
private IQueryable <ProductFamily> LoadProductFamilyList() { var list = new List <ProductFamily>(); for (int i = 1; i <= 5; i++) { var productFamily = new ProductFamily { ID = i, Priority = i }; list.Add(productFamily); } return(list.AsQueryable()); }
private static void Post_ProductFamily() { var container = new Container(); Console.WriteLine("\n\t<< post productfamily >>"); var newData = new ProductFamily { Id = 4, Name = "SQL SERVER", Description = "A relational database engine." }; Console.WriteLine("\tCreating ProductFamily with Id={0}, Name={1}, Description={2}", newData.Id, newData.Name, newData.Description); container.AddObject("ProductFamilies", newData); container.SaveChangesAsync(); }
public void ProductFamily_Can_Create_Simple() { // Arrange var newFamily = new ProductFamily() { Name = string.Format("Test{0}", Guid.NewGuid().ToString()) }; // Act var result = Chargify.CreateProductFamily(newFamily); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(IProductFamily)); Assert.AreEqual(newFamily.Name, result.Name, "Name didn't match"); Assert.AreEqual(newFamily.Name.ToLowerInvariant(), result.Handle, "Handle wasn't as expected"); }
public static void Insert(ProductFamily entry) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(String.Format(@"INSERT INTO {6} VALUES (N'{0}', N'{1}', N'{2}', N'{3}', {4}, N'{5}', GETDATE(), 0)", entry.Code, entry.Title, entry.BU, entry.MailList, entry.Sort, entry.Updator, DataDictionaryEntryDa.GetDictionaryTableName(DictionaryName.QiProductFamily))); try { db.ExecuteNonQuery(dbCommand); } catch (System.Data.SqlClient.SqlException sex) // 只捕获SqlException,其余抛出继续传播 { DBHelper.ParseSqlException(sex, false); } }
public static void Insert(ProductFamily entry) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(String.Format(@"INSERT INTO {6} VALUES (N'{0}', N'{1}', N'{2}', N'{3}', {4}, N'{5}', GETDATE(), 0)", entry.Code, entry.Title, entry.BU, entry.MailList, entry.Sort, entry.Updator, DataDictionaryEntryDa.GetDictionaryTableName(DictionaryName.QiProductFamily))); try { db.ExecuteNonQuery(dbCommand); } catch (System.Data.SqlClient.SqlException sex) // 只捕获SqlException,其余抛出继续传播 { DBHelper.ParseSqlException(sex, false); } }
/// <summary> /// Sets the variant prices by looping through all of the variants. /// </summary> /// <param name="productFamily">The product family.</param> /// <param name="extendedPrice">The extended price.</param> /// <param name="isLowestPriceVariantSpecified">if set to <c>true</c> the lowest priced variant adjusted price is returned.</param> /// <param name="isLowestPriceVariantListPriceSpecified">if set to <c>true</c> the lowest priced variant list price is returned.</param> /// <param name="isHighestPriceVariantSpecified">if set to <c>true</c> the highest priced variant adjusted price.</param> protected virtual void SetVariantPricesFromProductVariants(ProductFamily productFamily, ExtendedCommercePrice extendedPrice, bool isLowestPriceVariantSpecified, bool isLowestPriceVariantListPriceSpecified, bool isHighestPriceVariantSpecified) { if (productFamily.Variants != null && productFamily.Variants.Count > 0) { decimal highestPrice = 0.0M; decimal lowestPrice = 0.0M; decimal basePrice = 0.0M; bool processingFirstItem = true; foreach (Variant variant in productFamily.Variants) { if (!variant.IsListPriceNull()) { if (processingFirstItem || variant.ListPrice < lowestPrice) { lowestPrice = variant.ListPrice; basePrice = variant.DataRow.Table.Columns.Contains("BasePriceVariant") && variant.DataRow["BasePriceVariant"] != DBNull.Value ? Convert.ToDecimal(variant.DataRow["BasePriceVariant"], CultureInfo.InvariantCulture) : 0.0M; } if (processingFirstItem || variant.ListPrice > highestPrice) { highestPrice = variant.ListPrice; } processingFirstItem = false; } } if (isLowestPriceVariantSpecified) { extendedPrice.LowestPricedVariant = lowestPrice; } if (isLowestPriceVariantListPriceSpecified) { extendedPrice.LowestPricedVariantListPrice = basePrice; } if (isHighestPriceVariantSpecified) { extendedPrice.HighestPricedVariant = highestPrice; } } }
public static void Update(ProductFamily entry) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(String.Format(@"UPDATE {7} SET [Title] = N'{1}' ,[BU] = N'{2}' ,[MailList] = N'{3}' ,[Sort] = {4} ,[Optor] = N'{5}',[OpTime] = GETDATE(), [Deleted] = {6} WHERE [Code] = N'{0}'", entry.Code, entry.TitleT, entry.BUT, entry.MaillistT, entry.SortT, entry.UpdatorT, entry.VisibleT ? 0 : 1, DataDictionaryEntryDa.GetDictionaryTableName(DictionaryName.QiProductFamily))); try { db.ExecuteNonQuery(dbCommand); } catch (System.Data.SqlClient.SqlException sex) // 只捕获SqlException,其余抛出继续传播 { DBHelper.ParseSqlException(sex, false); } }
public static void Update(ProductFamily entry) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetSqlStringCommand(String.Format(@"UPDATE {7} SET [Title] = N'{1}' ,[BU] = N'{2}' ,[MailList] = N'{3}' ,[Sort] = {4} ,[Optor] = N'{5}',[OpTime] = GETDATE(), [Deleted] = {6} WHERE [Code] = N'{0}'", entry.Code, entry.TitleT, entry.BUT, entry.MaillistT, entry.SortT, entry.UpdatorT, entry.VisibleT ? 0 : 1, DataDictionaryEntryDa.GetDictionaryTableName(DictionaryName.QiProductFamily))); try { db.ExecuteNonQuery(dbCommand); } catch (System.Data.SqlClient.SqlException sex) // 只捕获SqlException,其余抛出继续传播 { DBHelper.ParseSqlException(sex, false); } }
private static async void Post_ProductFamily_Products() { var container = new Container(); Console.WriteLine("\n\t<< post productfamily.products >>"); var key = 4; ProductFamily family = container.ProductFamilies.Where(pf => pf.Id == key).AsEnumerable().SingleOrDefault(); var sql2012 = new Product { Name = "SQL Server 2012", ReleaseDate = new DateTime(2012, 3, 6), SupportedUntil = new DateTime(2017, 7, 11) }; container.AddRelatedObject(family, "Products", sql2012); Console.WriteLine("\tCreating Product with Name={0} under ProductFamily with name {1}", sql2012.Name, family.Name); await container.SaveChangesAsync(); }
private static void Delete_ProductFamily() { var container = new Container(); Console.WriteLine("\n\t<< delete productfamily >>"); var key = 4; ProductFamily family = container.ProductFamilies.Where(pf => pf.Id == key).FirstOrDefault(); if (family != null) { Console.WriteLine("\tDeleting ProductFamily with Id={0}, Name={1}", family.Id, family.Name); container.DeleteObject(family); container.SaveChangesAsync(); } else { Console.WriteLine("\tProductFamily with Id '{0}' not found.", key); } }
public HttpResponseMessage CreateLink([FromODataUri] int key, string navigationProperty, [FromBody] Uri link) { Product product = _db.Products.SingleOrDefault(p => p.ID == key); switch (navigationProperty) { case "Family": // The utility method uses routing (ODataRoutes.GetById should match) to get the value of {id} parameter // which is the id of the ProductFamily. int relatedKey = Request.GetKeyValue <int>(link); ProductFamily family = _db.ProductFamilies.SingleOrDefault(f => f.ID == relatedKey); product.Family = family; break; default: throw ODataErrors.CreatingLinkNotSupported(Request, navigationProperty); } _db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.NoContent)); }
public void ProductFamily_Can_Create_Complex() { // Arrange var newFamily = new ProductFamily() { Name = string.Format("Test{0}", Guid.NewGuid().ToString()), Description = Guid.NewGuid().ToString(), AccountingCode = Guid.NewGuid().ToString(), Handle = Guid.NewGuid().ToString() }; // Act var result = Chargify.CreateProductFamily(newFamily); // Assert Assert.IsNotNull(result); //Assert.IsInstanceOfType(result, typeof(IProductFamily)); Assert.AreEqual(newFamily.Name, result.Name, "Name didn't match"); Assert.AreEqual(newFamily.Description, result.Description, "Description didn't match"); Assert.AreEqual(newFamily.Handle, result.Handle, "Handle didn't match"); //Assert.AreEqual(newFamily.AccountingCode, result.AccountingCode, "Accounting Code didn't match"); }
public void AddProductFamilyDetail_Successfully(int ID, string descriptionAdd) { var productFamilyDto = new ProductFamilyDto { Id = ID, Description = descriptionAdd, }; var addedProductFamily = new ProductFamily { ID = 1, Description = descriptionAdd }; _productFamilyRepository.GetAll().ReturnsForAnyArgs(LoadProductFamilyList()); _productFamilyRepository.Add(Arg.Any <ProductFamily>()).Returns(addedProductFamily); var actualResult = _adminProcessor.SaveProductFamily(productFamilyDto); Assert.AreEqual(addedProductFamily.ID, actualResult.ID); }
public void ProductFamily_Can_Create_Complex() { // Arrange var newFamily = new ProductFamily() { Name = string.Format("Test{0}", Guid.NewGuid().ToString()), Description = Guid.NewGuid().ToString(), AccountingCode = Guid.NewGuid().ToString(), Handle = Guid.NewGuid().ToString() }; // Act var result = Chargify.CreateProductFamily(newFamily); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(IProductFamily)); Assert.AreEqual(newFamily.Name, result.Name, "Name didn't match"); Assert.AreEqual(newFamily.Description, result.Description, "Description didn't match"); Assert.AreEqual(newFamily.Handle, result.Handle, "Handle didn't match"); //Assert.AreEqual(newFamily.AccountingCode, result.AccountingCode, "Accounting Code didn't match"); }
public void DeleteProductFamily_Successfully(int ID, string userID) { var productFamilyDto = new ProductFamilyDto { Id = ID }; var updatedProductFamily = new ProductFamily { ID = ID, Active = false }; _productFamilyRepository. GetSingle(x => x.ID == productFamilyDto.Id). ReturnsForAnyArgs(LoadProductFamilyList().FirstOrDefault(x => x.ID == productFamilyDto.Id)); _productFamilyRepository.Update(Arg.Any <ProductFamily>()).Returns(updatedProductFamily); var actualResult = _adminProcessor.DeleteProductFamily(productFamilyDto.Id, userID); Assert.AreEqual(actualResult, true); }
/// <summary> /// Sets the variant prices by looping through all of the variants. /// </summary> /// <param name="productFamily">The product family.</param> /// <param name="extendedPrice">The extended price.</param> /// <param name="isLowestPriceVariantSpecified">if set to <c>true</c> the lowest priced variant adjusted price is returned.</param> /// <param name="isLowestPriceVariantListPriceSpecified">if set to <c>true</c> the lowest priced variant list price is returned.</param> /// <param name="isHighestPriceVariantSpecified">if set to <c>true</c> the highest priced variant adjusted price.</param> protected virtual void SetVariantPricesFromProductVariants(ProductFamily productFamily, ExtendedCommercePrice extendedPrice, bool isLowestPriceVariantSpecified, bool isLowestPriceVariantListPriceSpecified, bool isHighestPriceVariantSpecified) { if (productFamily.Variants != null && productFamily.Variants.Count > 0) { decimal highestPrice = 0.0M; decimal lowestPrice = 0.0M; decimal basePrice = 0.0M; bool processingFirstItem = true; foreach (Variant variant in productFamily.Variants) { if (!variant.IsListPriceNull()) { if (processingFirstItem || variant.ListPrice < lowestPrice) { lowestPrice = variant.ListPrice; basePrice = variant.DataRow.Table.Columns.Contains("BasePriceVariant") && variant.DataRow["BasePriceVariant"] != DBNull.Value ? Convert.ToDecimal(variant.DataRow["BasePriceVariant"], CultureInfo.InvariantCulture) : 0.0M; } if (processingFirstItem || variant.ListPrice > highestPrice) { highestPrice = variant.ListPrice; } processingFirstItem = false; } } if (isLowestPriceVariantSpecified) { extendedPrice.LowestPricedVariant = lowestPrice; } if (isLowestPriceVariantListPriceSpecified) { extendedPrice.LowestPricedVariantListPrice = basePrice; } if (isHighestPriceVariantSpecified) { extendedPrice.HighestPricedVariant = highestPrice; } } }
/// <summary> /// 比较当前对象和同一类型的另一对象。用于排序。 /// </summary> /// <param name="other">与此对象进行比较的对象。</param> /// <returns>一个 32 位有符号整数,指示要比较的对象的相对顺序。</returns> public int CompareTo(ProductFamily other) { int s = this.Sort.CompareTo(other.Sort); if (s == 0) return this.Code.CompareTo(other.Code); else return s; }
/// <summary> /// Sets the variant prices from base product. /// </summary> /// <param name="productFamily">The product family.</param> /// <param name="extendedPrice">The extended price.</param> /// <param name="isLowestPriceVariantSpecified">if set to <c>true</c> the lowest priced variant adjusted price is returned.</param> /// <param name="isLowestPriceVariantListPriceSpecified">if set to <c>true</c> the lowest priced variant list price is returned.</param> /// <param name="isHighestPriceVariantSpecified">if set to <c>true</c> the highest priced variant adjusted price.</param> protected virtual void SetVariantPricesFromBaseProduct(ProductFamily productFamily, ExtendedCommercePrice extendedPrice, bool isLowestPriceVariantSpecified, bool isLowestPriceVariantListPriceSpecified, bool isHighestPriceVariantSpecified) { decimal lowestPricedVariantAdjustedPrice; decimal lowestPricedVariantListPrice; if (productFamily.HasProperty("BasePrice") && productFamily["BasePrice"] != null) { lowestPricedVariantAdjustedPrice = productFamily.ListPrice; lowestPricedVariantListPrice = (productFamily["BasePrice"] as decimal?).Value; } else { // No base price is defined, the List price is set to the actual ListPrice define in the catalog lowestPricedVariantAdjustedPrice = productFamily.ListPrice; lowestPricedVariantListPrice = productFamily.ListPrice; } if (isLowestPriceVariantSpecified) { extendedPrice.LowestPricedVariant = lowestPricedVariantAdjustedPrice; } if (isLowestPriceVariantListPriceSpecified) { extendedPrice.LowestPricedVariantListPrice = lowestPricedVariantListPrice; } }
private static void Post_ProductFamily() { Container ctx = new Container(); Console.WriteLine("\n\t<< post productfamily >>"); ProductFamily sql = new ProductFamily { ID = 4, Name = "SQL SERVER", Description = "A relational database engine." }; Console.WriteLine("\tCreating ProductFamily with Id={0}, Name={1}, Description={2}", sql.ID, sql.Name, sql.Description); ctx.AddObject("ProductFamilies", sql); ctx.SaveChanges(); }
private static List <ProductCategory> GetCategories() { List <IIfcRelDefinesByType> ifcRelDefinesByTypes = Model.Instances.OfType <IIfcRelDefinesByType>().ToList(); List <ProductCategory> Categories = new List <ProductCategory>(); List <string> list = Products.Select(a => a.GetType().Name).ToList(); List <string> newlist = Products.Select(a => a.GetType().Name).ToList().Distinct().ToList(); newlist.ForEach(a => Categories.Add(new ProductCategory() { Name = a })); foreach (var item in Categories) { List <IIfcProduct> products = Products.Where(p => p.GetType().Name == item.Name).ToList(); foreach (var product in products) { List <string> lst = new List <string>(); if (product.Name != null) { lst = product.Name.Value.Value.ToString().Split(':').ToList(); } if (lst.Count >= 3) { IIfcRelDefinesByType relType = ifcRelDefinesByTypes.Where(a => a == product.IsTypedBy.FirstOrDefault()).FirstOrDefault(); if (item.Families.Where(c => c.Name == lst[0]).Count() == 0) { ProductFamily productFamily = new ProductFamily() { Name = lst[0] }; ProductType productType = new ProductType() { Name = lst[1], }; if (relType != null) { relType.RelatedObjects.ToList().ForEach(a => productType.Products.Add((IIfcProduct)a)); productType.Id = relType.RelatingType.EntityLabel; } else { productType.Products.Add(product); if (product.IsTypedBy.Count() >= 1) { productType.Id = product.IsTypedBy.FirstOrDefault().EntityLabel; } } productFamily.Types.Add(productType); item.Families.Add(productFamily); } else { ProductFamily existingFamily = item.Families.Where(c => c.Name == lst[0]).FirstOrDefault(); if (existingFamily.Types.Where(c => c.Name == lst[1]).Count() == 0) { ProductType productType = new ProductType() { Name = lst[1] }; if (relType != null) { relType.RelatedObjects.ToList().ForEach(a => productType.Products.Add((IIfcProduct)a)); productType.Id = relType.RelatingType.EntityLabel; } else { productType.Products.Add(product); if (product.IsTypedBy.Count() >= 1) { productType.Id = product.IsTypedBy.FirstOrDefault().EntityLabel; } } item.Families.Where(c => c.Name == lst[0]).FirstOrDefault().Types.Add(productType); } else if (existingFamily.Types.Where(c => c.Name == lst[1]).FirstOrDefault().Products.Where(p => p.EntityLabel == product.EntityLabel).Count() == 0) { existingFamily.Types.Where(c => c.Name == lst[1]).FirstOrDefault().Products.Add(product); } } } } } return(Categories); }
public static ProductFamily CreateProductFamily(int ID, long longProperty) { ProductFamily productFamily = new ProductFamily(); productFamily.ID = ID; productFamily.LongProperty = longProperty; return productFamily; }
public void AddToProductFamilies(ProductFamily productFamily) { base.AddObject("ProductFamilies", productFamily); }
public static ProductFamily CreateProductFamily(int ID) { ProductFamily productFamily = new ProductFamily(); productFamily.ID = ID; return productFamily; }
public void AddToProductFamilies(ProductFamily productFamily) { base.AddObject("ProductFamilies", productFamily); }
/// <summary> /// Sets the variant prices. /// </summary> /// <param name="productFamily">The product family.</param> /// <param name="extendedPrice">The extended price.</param> /// <param name="isLowestPriceVariantSpecified">if set to <c>true</c> the lowest priced variant adjusted price is returned.</param> /// <param name="isLowestPriceVariantListPriceSpecified">if set to <c>true</c> the lowest priced variant list price is returned.</param> /// <param name="isHighestPriceVariantSpecified">if set to <c>true</c> the highest priced variant adjusted price.</param> protected virtual void SetVariantPrices(ProductFamily productFamily, ExtendedCommercePrice extendedPrice, bool isLowestPriceVariantSpecified, bool isLowestPriceVariantListPriceSpecified, bool isHighestPriceVariantSpecified) { if (this.UseProductBasePriceAsVariantPrice) { this.SetVariantPricesFromBaseProduct(productFamily, extendedPrice, isLowestPriceVariantSpecified, isLowestPriceVariantListPriceSpecified, isHighestPriceVariantSpecified); } else { this.SetVariantPricesFromProductVariants(productFamily, extendedPrice, isLowestPriceVariantSpecified, isLowestPriceVariantListPriceSpecified, isHighestPriceVariantSpecified); } }