Пример #1
0
        public ActionResult CreateProjectFromTempProject(int projectId)
        {
            _db = new ApplicationDbContext();

            var tempProject = (from x in _db.TempProjects
                               where x.TempProjectId == projectId
                               select x).FirstOrDefault();
            Project project = Mapper.Map <TempProject, Project>(tempProject);

            if (tempProject != null)
            {
                _db.Projects.Add(project);
            }
            _db.SaveChanges();

            BlobConnector.MoveIconFromTempToProject(projectId, project.ProjectId);

            ApplicationDbContext db2    = new ApplicationDbContext();
            var tempProjectTechnologies = from x in db2.TempProjectTechnologies
                                          where x.ProjectId == projectId
                                          select x;

            foreach (var tempProjectTechnology in tempProjectTechnologies)
            {
                ProjectTechnology projectTechnology = Mapper.Map <TempProjectTechnology, ProjectTechnology>(tempProjectTechnology);
                if (projectTechnology == null)
                {
                    continue;
                }
                projectTechnology.ProjectId = project.ProjectId;
                db2.ProjectTechnologies.Add(projectTechnology);
            }
            db2.SaveChanges();


            var imgList = from z in _db.Images
                          where z.ProjectId == projectId && z.TempraryProject
                          select z;

            foreach (var v in imgList)
            {
                BlobConnector.MoveImageFromTempToProject(v, project.ProjectId);
                v.FileName         = "Project" + project.ProjectId + v.OriginalFileName;
                v.TempraryProject  = false;
                v.ProjectId        = project.ProjectId;
                _db.Entry(v).State = System.Data.Entity.EntityState.Modified;
            }
            _db.SaveChanges();


            RemoveTempProject(projectId);

            return(RedirectToAction("ProjectsListView"));
        }