Пример #1
0
    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);
    }