public void ArchiveProject(SidejobEntities context) { //Insert into archived var currentproject = (from c in context.Projects where c.ProjectID == ProjectID select c).FirstOrDefault(); var currentprojectphoto = (from c in context.ProjectPhotoes where c.ProjectID == ProjectID select c).ToList(); var currentprojectpicture = (from c in context.ProjectPictures where c.ProjectID == ProjectID select c).FirstOrDefault(); var currentprojectrequirement = (from c in context.ProjectRequirements where c.ProjectID == ProjectID select c).FirstOrDefault(); if (currentproject != null) { if (currentprojectrequirement != null) { var acp = new ArchievedCompletedProject { ProjectID = (int) currentproject.ProjectID, DateFinished = DateTime.Now.Date, PosterID = PosterID, PosterRole = PosterRole, BidderID = BidderID, BidderRole = BidderRole, HighestBid = currentproject.HighestBid, Currency = currentprojectrequirement.CurrencyID, Status = Convert.ToInt32(currentproject.Status) }; context.AddToArchievedCompletedProjects(acp); } } //for each record foreach (var cp in currentprojectphoto) { var ac = new ArchievedCompletedProjectPhoto { PhotoID = cp.PhotoID, ProjectID = cp.ProjectID, PhotoPath = cp.PhotoPath, Caption = cp.Caption, AlbumID = cp.AlbumID, PhotoRank = cp.PhotoRank }; context.AddToArchievedCompletedProjectPhotoes(ac); } if (currentprojectpicture != null) { var acpi = new ArchievedCompletedProjectPicture { AlbumID = currentprojectpicture.AlbumID, AlbumCaption = currentprojectpicture.AlbumCaption, Numberofimages = currentprojectpicture.Numberofimages, ProjectID = currentprojectpicture.ProjectID }; context.AddToArchievedCompletedProjectPictures(acpi); } if (currentprojectrequirement != null) { var acpr = new ArchievedCompletedProjectRequirement { ProjectID = currentprojectrequirement.ProjectID, LCID = currentprojectrequirement.LCID, CategoryID = currentprojectrequirement.CategoryID, CategoryName = currentprojectrequirement.CategoryName, JobID = currentprojectrequirement.JobID, JobTitle = currentprojectrequirement.JobTitle, ExperienceID = currentprojectrequirement.ExperienceID, CrewNumberID = currentprojectrequirement.CrewNumberID, LicensedID = currentprojectrequirement.LicensedID, InsuredID = currentprojectrequirement.InsuredID, RelocationID = currentprojectrequirement.RelocationID, ProjectTitle = currentprojectrequirement.ProjectTitle, StartDate = currentprojectrequirement.StartDate, EndDate = currentprojectrequirement.EndDate, AmountOffered = currentprojectrequirement.AmountOffered, CurrencyID = currentprojectrequirement.CurrencyID, Description = currentprojectrequirement.Description, SpecialNotes = currentprojectrequirement.SpecialNotes, Address = currentprojectrequirement.Address, CountryID = currentprojectrequirement.CountryID, CountryName = currentprojectrequirement.CountryName, RegionID = currentprojectrequirement.RegionID, RegionName = currentprojectrequirement.RegionName, CityID = currentprojectrequirement.CityID, CityName = currentprojectrequirement.CityName, Zipcode = currentprojectrequirement.Zipcode, DatePosted = currentprojectrequirement.DatePosted, TimeLeft = currentprojectrequirement.TimeLeft }; context.AddToArchievedCompletedProjectRequirements(acpr); } context.SaveChanges(); //delete from current project context.DeleteObject(currentproject); context.DeleteObject(currentprojectphoto); context.DeleteObject(currentprojectpicture); context.DeleteObject(currentprojectrequirement); context.SaveChanges(); CleanProjectData(context); ArchiveSuccessfulIPN(context); }