///<summary>
        ///  Returns a Typed SalesByCategory Entity with mock values.
        ///</summary>
        public static SalesByCategory CreateMockInstance()
        {
            SalesByCategory mock = new SalesByCategory();

            mock.CategoryId = TestUtility.Instance.RandomNumber();
            mock.CategoryName = TestUtility.Instance.RandomString(6, false);;
            mock.ProductName = TestUtility.Instance.RandomString(19, false);;
            mock.ProductSales = TestUtility.Instance.RandomShort();
               return (SalesByCategory)mock;
        }
        /// <summary>
        /// Deserialize the mock SalesByCategory entity from a temporary file.
        /// </summary>
        private void Step_7_DeserializeEntity_Generated()
        {
            string fileName = "temp_SalesByCategory.xml";

            XmlSerializer mySerializer = new XmlSerializer(typeof(SalesByCategory));
            System.IO.FileStream myFileStream = new System.IO.FileStream(fileName,  System.IO.FileMode.Open);
            mock = (SalesByCategory) mySerializer.Deserialize(myFileStream);
            myFileStream.Close();
            System.IO.File.Delete(fileName);

            System.Console.WriteLine("mock correctly deserialized from a temporary file.");
        }
 /// <summary>
 /// Gets the property value by name.
 /// </summary>
 /// <param name="entity">The entity.</param>
 /// <param name="propertyName">Name of the property.</param>
 /// <returns></returns>
 public static object GetPropertyValueByName(SalesByCategory entity, string propertyName)
 {
     switch (propertyName)
     {
         case "CategoryId":
             return entity.CategoryId;
         case "CategoryName":
             return entity.CategoryName;
         case "ProductName":
             return entity.ProductName;
         case "ProductSales":
             return entity.ProductSales;
     }
     return null;
 }
 ///<summary>
 ///  Returns a Typed SalesByCategoryBase Entity 
 ///</summary>
 public virtual SalesByCategoryBase Copy()
 {
     //shallow copy entity
     SalesByCategory copy = new SalesByCategory();
         copy.CategoryId = this.CategoryId;
         copy.CategoryName = this.CategoryName;
         copy.ProductName = this.ProductName;
         copy.ProductSales = this.ProductSales;
     copy.AcceptChanges();
     return (SalesByCategory)copy;
 }
 ///<summary>
 /// A simple factory method to create a new <see cref="SalesByCategory"/> instance.
 ///</summary>
 ///<param name="_categoryId"></param>
 ///<param name="_categoryName"></param>
 ///<param name="_productName"></param>
 ///<param name="_productSales"></param>
 public static SalesByCategory CreateSalesByCategory(System.Int32 _categoryId, System.String _categoryName, System.String _productName, System.Decimal? _productSales)
 {
     SalesByCategory newSalesByCategory = new SalesByCategory();
     newSalesByCategory.CategoryId = _categoryId;
     newSalesByCategory.CategoryName = _categoryName;
     newSalesByCategory.ProductName = _productName;
     newSalesByCategory.ProductSales = _productSales;
     return newSalesByCategory;
 }