public async Task <int> InitiateRelease(int ReleaseID) { int count = 0; Release currentRelease; using (IReleaseRepository db = new ReleaseRepository()) { currentRelease = db.getReleaseForInitiateCheckList(ReleaseID); } using (IVendorRepository DB = new VendorRepository()) { Vendor currentVendor = new VendorRepository().Where(v => v.Name == "Amdocs").Include(v => v.ReleaseVendors).FirstOrDefault(); var Areas = currentRelease.ReleaseAreaOwners.Where(a => a.IsChecked == true).ToList(); List <VendorAreas> newVendorAreas = new List <VendorAreas>(); List <ReleaseVendor> ReleaseVendors = new List <ReleaseVendor>(); Areas.ForEach(r => { var newObj = new VendorAreas() { VendorID = currentVendor.VendorID, AreaID = r.AreaID, IsChecked = true }; newVendorAreas.Add(newObj); }); currentVendor.VendorAreass = newVendorAreas; var currentReleaseVendor = currentVendor.ReleaseVendors.FirstOrDefault(v => v.ReleaseID == ReleaseID); if (currentReleaseVendor == null) { currentVendor.ReleaseVendors = new List <ReleaseVendor>() { new ReleaseVendor() { ReleaseID = ReleaseID, VendorID = currentVendor.VendorID, IsFullTrack = true } } } ; count += await DB.EditVendor(currentVendor, currentRelease, (WindowsPrincipal)User); } return(count); }