using AdventureWorks.Business;
using System;
using System.Collections.Generic;
using System.Linq;
namespace EpicAdventureWorks
{
///
///
///
public class ProductManager
{
///
/// Get Product's SubCategory
///
///
///
public static List GetCategory(int categoryId)
{
List catList = null;
//catList = (from cat in Common.DataEntities.ProductCategory
// where cat.ParentCategory.ProductCategoryID == categoryId
// select cat).ToList();
return catList;
}
///
/// Gets the name of the product by.
///
/// The name.
///
public static Product GetProductByName(string name)
{
var product = from p in Common.DataEntities.Products
where p.Name == name
select p;
return product.FirstOrDefault();
}
///
/// Get product by categoryId
///
///
///
public static IQueryable GetProductByCategory(ProductSubcategory category)
{
IQueryable prodList = null;
prodList = from p in Common.DataEntities.Products
where p.ProductSubcategory.ProductSubcategoryID == category.ProductSubcategoryID
select p;
return prodList;
}
///
/// Get product by ProductId
///
///
///
public static Product GetProductByProductId(int prodId)
{
var prods = from p in Common.DataEntities.Product
where p.ProductID == prodId
select p;
return prods.FirstOrDefault();
}
public static Product GetProductByProductId(int prodId, Entities entities)
{
Product prod;
var prods = from p in entities.Product
where p.ProductID == prodId
select p;
prod = prods.FirstOrDefault();
return prod;
}
///
/// Get Product's Colors By category
///
///
///
public static List GetProductColor(int categoryId)
{
List colorList = null;
colorList = (from p in Common.DataEntities.Product
where p.Color != null && p.ProductSubcategory.ProductSubcategoryID == categoryId
orderby p.Color
select p.Color).Distinct().ToList();
return colorList;
}
///
/// Get Product's Weights By category
///
///
///
public static List GetProductWeight(int categoryId)
{
List weightList = null;
weightList = (from p in Common.DataEntities.Product
where p.ProductSubcategory.ProductSubcategoryID == categoryId
&& p.Weight != null
orderby p.Weight
select p.Weight).Distinct().ToList();
return weightList;
}
public static List GetProductWeightString(int categoryId)
{
List weightListStr = new List();
List weightList = null;
weightList = (from p in Common.DataEntities.Product
where p.ProductSubcategory.ProductSubcategoryID == categoryId
&& p.Weight != null
orderby p.Weight
select p.Weight).Distinct().ToList();
//weightListStr = weightList.ToString().ToList();
//for (int i = 0; i <= weightList.Count; i++)
//{
// weightListStr.Add(new string
// {
// weightList[i].ToString()
//});
//}
return weightListStr;
}
///
/// Get Product's Colors By category
///
///
///
public static List GetProductSize(int categoryId)
{
List sizeList = null;
sizeList = (from p in Common.DataEntities.Product
where p.Size != null && p.ProductSubcategory.ProductSubcategoryID == categoryId
orderby p.Size
select p.Size).Distinct().ToList();
return sizeList;
}
///
/// Get Product's Description
///
///
///
public static string GetProductDesc(int descId)
{
string desc = null;
var descList = from pd in Common.DataEntities.ProductDescription
where pd.ProductDescriptionID == descId
select pd.Description;
if (descList != null)
desc = descList.First();
return desc;
}
}
}