public async System.Threading.Tasks.Task <ActionResult> Index() { //Creating object of PersonsBL RawMaterialOrderBL rawMaterialOrderBL = new RawMaterialOrderBL(); SupplierBL supplierBL = new SupplierBL(); RawMaterialBL rawMaterialBL = new RawMaterialBL(); List <RawMaterial> rawMaterials = await rawMaterialBL.GetAllRawMaterialsBL(); ViewBag.list1 = new SelectList(rawMaterials, "RawMaterialName"); //Getting list of persons from PersonsBL List <Rawmaterialorder1> rawMaterialOrders = await rawMaterialOrderBL.GetAllRawMaterialOrdersBL(); //Create an empty collection of PersonViewModel List <RawMaterialOrderViewModel> rawMaterialOrderViewModel = new List <RawMaterialOrderViewModel>(); //ServiceReference1.RawMaterialOrderServiceClient personsServiceClient = new ServiceReference1.RawMaterialOrderServiceClient(); //ServiceReference1.RawMaterialOrderDataContract[] rawMaterialOrderDataContracts = personsServiceClient.GetAllRawMaterialOrder(); ////Migrate (copy) data from EntityModel collection to ViewModel collection foreach (var item in rawMaterialOrders) { Supplier suppl = await supplierBL.GetSupplierBySupplierIDBL(item.SupplierID); RawMaterialOrderViewModel rawMaterialOrderVM = new RawMaterialOrderViewModel() { //RawMaterialOrderID = item.RawMaterialOrderID, //SupplierID = Convert.ToString(item.SupplierID), RawMaterialOrderID = item.RawMaterialOrderID, SupplierName = suppl.SupplierName, RawMaterialTotalPrice = Convert.ToDouble(item.RawMaterialTotalPrice), RawMaterialTotalQuantity = Convert.ToDouble(item.RawMaterialTotalQuantity) }; rawMaterialOrderViewModel.Add(rawMaterialOrderVM); } //Call view & pass personVM collection to view return(View(rawMaterialOrderViewModel)); }