Skip to content

Instantly share code, notes, and snippets.

@jinan-kordab
Created October 13, 2018 16:18
Show Gist options
  • Save jinan-kordab/ef8a4cc543e8d7d353f0f1e32bc3fcfc to your computer and use it in GitHub Desktop.
Save jinan-kordab/ef8a4cc543e8d7d353f0f1e32bc3fcfc to your computer and use it in GitHub Desktop.
Search Action Result for WH01
[HttpPost]
public ActionResult Search(FormCollection w_formCollection)
{
string searchTerm = w_formCollection["searchDialog"].ToString();
string byProduct = w_formCollection["cbProduct"] == null ? "off" : "on";
string byShipment = w_formCollection["cbShipment"] == null ? "off" : "on";
string gView = w_formCollection["cbGridview"] == null ? "off" : "on";
SearchProductModelList spml = new SearchProductModelList();
List<SearchProductModel> sp = new List<SearchProductModel>();
using (var searchPhrase = new WH01Entities())
{
if (byProduct == "on" && byShipment == "on")
{
}
//only search products
else if (byProduct == "on" && byShipment == "off")
{
var searchProductresults = from i in searchPhrase.PRODUCT_DESCRIPTION_DETAIL
where i.PRODUCT_DESCRIPTION.PRODUCT.productName.Contains(searchTerm)
select new SearchProductModel()
{
m_productId = i.PRODUCT_DESCRIPTION.PRODUCT.productID,
m_productName = i.PRODUCT_DESCRIPTION.PRODUCT.productName,
m_productSerialNumber = i.PRODUCT_DESCRIPTION.PRODUCT.productSerialNumber,
m_productDescriptionLong = i.PRODUCT_DESCRIPTION.productDescLong,
m_productPrice = i.productPrice,
m_productSize = i.productSize,
m_productColor = i.productColor,
m_productWeight = i.productWeight,
};
List<SearchProductModel> pmltemp = new List<SearchProductModel>();
pmltemp = searchProductresults.ToList();
foreach (var searchProduct in pmltemp)
{
var supplierForProductQuery = from s in searchPhrase.SHIPMENT_PRODUCT_DETAIL
where (s.productID == searchProduct.m_productId)
select new SearchProductModel()
{
m_supplierId = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierID).FirstOrDefault(),
m_supplierName = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierName).FirstOrDefault(),
m_supplierCity = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierCity).FirstOrDefault(),
m_supplierCountry = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.COUNTRY.countryName).FirstOrDefault(),
m_supplierEmail = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierEmail).FirstOrDefault(),
m_supplierFax = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierFax).FirstOrDefault(),
m_supplierPostalCode = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierPostalCode).FirstOrDefault(),
m_supplierProvince = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierProvince).FirstOrDefault(),
m_supplierStreet = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierStreet).FirstOrDefault(),
m_supplierTelephone = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierTelephone).FirstOrDefault(),
m_supplierUnitNumber = s.SHIPMENT_DETAIL.SHIPMENT.SHIPMENT_SUPPLIER.Select(sup => sup.SUPPLIER.supplierUnitNumber).FirstOrDefault(),
m_shipmentCountry = s.SHIPMENT_DETAIL.SHIPMENT.COUNTRY.countryName,
m_shipmentCity = s.SHIPMENT_DETAIL.SHIPMENT.shipmentCity,
m_shipmentProvince = s.SHIPMENT_DETAIL.SHIPMENT.shipmentProvince,
m_shipmentDate = s.SHIPMENT_DETAIL.shipmentDate,
m_shipmentEstimatedArrivalDate = s.SHIPMENT_DETAIL.shipmentEstimatedArrivalDate,
m_shipmentArrivalDate = s.SHIPMENT_DETAIL.shipmentArrivalDate,
m_shipmentMethod = s.SHIPMENT_DETAIL.shipmentMethod,
m_shipmentNumberOfProductsGeneral = s.SHIPMENT_DETAIL.numberOfProducts,
m_shipmentNumberOfBoxes = searchPhrase.PRODUCT_BOXING_DETAILS.Where(d => d.shipmentProductDetailsID.Equals(s.shipmentProductDetailsID)).Select(xo => xo.numberOfBoxes).FirstOrDefault(),
m_shipmentNumberofPacks = searchPhrase.PRODUCT_BOXING_DETAILS.Where(d => d.shipmentProductDetailsID.Equals(s.shipmentProductDetailsID)).Select(xo => xo.numberOfPacks).FirstOrDefault(),
m_shipmentNumberOfProductsDetail = searchPhrase.PRODUCT_BOXING_DETAILS.Where(d => d.shipmentProductDetailsID.Equals(s.shipmentProductDetailsID)).Select(xo => xo.numberOfProducts).FirstOrDefault(),
m_shipmentNumberOfProductsPerPack = searchPhrase.PRODUCT_BOXING_DETAILS.Where(d => d.shipmentProductDetailsID.Equals(s.shipmentProductDetailsID)).Select(xo => xo.numberOfProductsPerPack).FirstOrDefault(),
m_shipmentNumberOfPacksPerBox = searchPhrase.PRODUCT_BOXING_DETAILS.Where(d => d.shipmentProductDetailsID.Equals(s.shipmentProductDetailsID)).Select(xo => xo.numberOfPacksPerBox).FirstOrDefault()
};
var query = supplierForProductQuery.ToList();
//foreach (var suppplierShipment in pmltemp2)
//{
searchProduct.m_supplierId = Convert.ToInt32(query.Select(m => m.m_supplierId).FirstOrDefault());
searchProduct.m_supplierName = query.Select(m => m.m_supplierName).FirstOrDefault();
searchProduct.m_supplierCity = query.Select(m => m.m_supplierCity).FirstOrDefault();
searchProduct.m_supplierCountry = query.Select(m => m.m_supplierCountry).FirstOrDefault();
searchProduct.m_supplierEmail = query.Select(m => m.m_supplierEmail).FirstOrDefault();
searchProduct.m_supplierFax = query.Select(m => m.m_supplierFax).FirstOrDefault();
searchProduct.m_supplierPostalCode = query.Select(m => m.m_supplierPostalCode).FirstOrDefault();
searchProduct.m_supplierProvince = query.Select(m => m.m_supplierProvince).FirstOrDefault();
searchProduct.m_supplierStreet = query.Select(m => m.m_supplierStreet).FirstOrDefault();
searchProduct.m_supplierTelephone = query.Select(m => m.m_supplierTelephone).FirstOrDefault();
searchProduct.m_supplierUnitNumber = query.Select(m => m.m_supplierUnitNumber).FirstOrDefault();
searchProduct.m_shipmentCountry = query.Select(m => m.m_shipmentCountry).FirstOrDefault();
searchProduct.m_shipmentCity = query.Select(m => m.m_shipmentCity).FirstOrDefault();
searchProduct.m_shipmentProvince = query.Select(m => m.m_shipmentProvince).FirstOrDefault();
searchProduct.m_shipmentDate = query.Select(m => m.m_shipmentDate).FirstOrDefault();
searchProduct.m_shipmentEstimatedArrivalDate = query.Select(m => m.m_shipmentEstimatedArrivalDate).FirstOrDefault();
searchProduct.m_shipmentArrivalDate = query.Select(m => m.m_shipmentArrivalDate).FirstOrDefault();
searchProduct.m_shipmentMethod = query.Select(m => m.m_shipmentMethod).FirstOrDefault();
searchProduct.m_shipmentNumberOfProductsGeneral = query.Select(m => m.m_shipmentNumberOfProductsGeneral).FirstOrDefault();
searchProduct.m_shipmentNumberOfBoxes = query.Select(m => m.m_shipmentNumberOfBoxes).FirstOrDefault();
searchProduct.m_shipmentNumberofPacks = query.Select(m => m.m_shipmentNumberofPacks).FirstOrDefault();
searchProduct.m_shipmentNumberOfProductsDetail = query.Select(m => m.m_shipmentNumberOfProductsDetail).FirstOrDefault();
searchProduct.m_shipmentNumberOfProductsPerPack = query.Select(m => m.m_shipmentNumberOfProductsPerPack).FirstOrDefault();
searchProduct.m_shipmentNumberOfPacksPerBox = query.Select(m => m.m_shipmentNumberOfPacksPerBox).FirstOrDefault();
sp.Add(searchProduct);
}
}
//only searchshipments
else if (byShipment == "on" && byProduct == "off")
{
}
spml.listofsearchproducts = sp;
return gView == "on" ? View("GridSearch", spml) : View("SearchProduct", spml);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment