Beispiel #1
0
 public Project CreateProject(User u, List<ProjectElement> projectElements)
 {
     Project project = new Project() { isActive = true, dateModified = DateTime.Now };
     project.projectElements = projectElements;
     try
     {
         User user = new User { id = u.id };
         if (u.projects == null)
         {
             user.projects = new List<Project>();
         }
         else
         {
             user.projects = u.projects;
         }
         VestnDB db = new VestnDB();
         user.projects.Add(project);
         db.projects.Add(project);
         db.users.Attach(user);
         db.SaveChanges();
     }
     catch (Exception e)
     {
         logAccessor.CreateLog(DateTime.Now, this.GetType().ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), e.ToString());
         return null;
     }
     return project;
 }
Beispiel #2
0
        public int AddProjectElement(Project project, ProjectElement pe)
        {
            if (project == null || pe == null)
            {
                return -1;
            }

            try
            {
                project.projectElements.Add(pe);
                project.dateModified = DateTime.Now;

                VestnDB db = new VestnDB();
                db.projectElements.Add(pe);
                db.Entry(project).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception e)
            {
                logAccessor.CreateLog(DateTime.Now, this.GetType().ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), e.ToString());
                return -1;
            }

            try
            {
                if (project.projectElementOrder == null)
                {
                    if (project.projectElements.Count > 1)
                    {
                        project = resetProjectElementOrder(project);
                        //project.projectElementOrder += "," + pe.id;
                    }
                    else
                    {
                        project.projectElementOrder += pe.id;
                    }
                }
                else
                {
                    //project.projectElementOrder += "," + pe.id;
                    project.projectElementOrder = pe.id + "," + project.projectElementOrder; // add new element to the begininning of the order
                }
                VestnDB db = new VestnDB();
                db.Entry(project).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception e)
            {
                logAccessor.CreateLog(DateTime.Now, this.GetType().ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), e.ToString());
                return -1;
            }

            return pe.id;
        }
Beispiel #3
0
 public List<ProjectElement> ReOrderProjectElements(Project p, string projectElementOrder)
 {
     if (projectElementOrder != null)
     {
         List<ProjectElement> reorderedProjectElements = new List<ProjectElement>();
         List<int> orderList = stringOrderToList(projectElementOrder);
         //model.projects = new List<Project>();
         foreach (int x in orderList)
         {
             reorderedProjectElements.Add(p.projectElements.Where(u => u.id == x).FirstOrDefault());
             //model.projects.Add(projectManager.GetProject(x));
         }
         return reorderedProjectElements;
     }
     else
     {
         return null;
     }
 }
Beispiel #4
0
        public Project toProject()
        {
            Project project = new Project();
            project.id = this.id;
            project.projectElements = new List<ProjectElement>();
            project.name = this.name;
            project.coverPicture = this.coverPicture;
            project.coverPictureThumbnail = this.coverPictureThumbnail;
            project.description = this.description;
            project.isActive = this.isActive;
            project.projectElementOrder= this.projectElementOrder;
            if (this.documents != null)
            {
                foreach (ProjectElement element in this.documents)
                {
                    project.projectElements.Add(element);
                }
            }

            if (this.experience != null)
            {
                foreach (ProjectElement element in this.experience)
                {
                    project.projectElements.Add(element);
                }
            }
            if (this.information != null)
            {
                foreach (ProjectElement element in this.information)
                {
                    project.projectElements.Add(element);
                }
            }
            if (this.pictures != null)
            {
                foreach (ProjectElement element in this.pictures)
                {
                    project.projectElements.Add(element);
                }
            }
            if (this.videos != null)
            {
                foreach (ProjectElement element in this.videos)
                {
                    project.projectElements.Add(element);
                }
            }
            if (this.audio != null)
            {
                foreach (ProjectElement element in this.audio)
                {
                    project.projectElements.Add(element);
                }
            }
            return project;
        }
Beispiel #5
0
 public ProjectModel(Project project)
 {
     this.id = project.id;
     this.information = new List<ProjectElement_Information>();
     this.documents = new List<ProjectElement_Document>();
     this.experience = new List<ProjectElement_Experience>();
     this.pictures = new List<ProjectElement_Picture>();
     this.videos = new List<ProjectElement_Video>();
     this.audio = new List<ProjectElement_Audio>();
     this.name = project.name;
     this.coverPicture = project.coverPicture;
     this.coverPictureThumbnail = project.coverPictureThumbnail;
     this.description = project.description;
     this.isActive = project.isActive;
     this.projectElementOrder = project.projectElementOrder;
     TagManager tm = new TagManager();
     this.projectTags = tm.getAllProjectTags(project.id);
     foreach(ProjectElement element in project.projectElements){
         if (element.GetType() == typeof(ProjectElement_Document))
         {
             this.documents.Add((ProjectElement_Document)element);
         }
         else if (element.GetType() == typeof(ProjectElement_Experience))
         {
             this.experience.Add((ProjectElement_Experience)element);
         }
         else if (element.GetType() == typeof(ProjectElement_Information))
         {
             this.information.Add((ProjectElement_Information)element);
         }
         else if (element.GetType() == typeof(ProjectElement_Picture))
         {
             this.pictures.Add((ProjectElement_Picture)element);
         }
         else if (element.GetType() == typeof(ProjectElement_Video))
         {
             this.videos.Add((ProjectElement_Video)element);
         }
         else if (element.GetType() == typeof(ProjectElement_Audio))
         {
             this.audio.Add((ProjectElement_Audio)element);
         }
     }
 }
 /// <summary>
 /// deletes a project element from the order or project elements within a project
 /// </summary>
 /// <param name="Project p"></param>
 /// <param name="ProjectElement element"></param>
 private void DeleteElementOrder(Project p, ProjectElement element)
 {
     projectManager.deleteProjectElementFromOrder(p, element.id);
 }
        private void fillProjects(User u)
        {
            VestnDB vestnDB = new VestnDB();
            Project project = new Project
            {
                name = "Test Project",
                description = "Test Description",
            };

            //Project Elements
            ProjectElement_Information informationElement;
            ProjectElement_Experience experienceElement;
            ProjectElement_Document documentElement;
            ProjectElement_Video videoElement;
            ProjectElement_Picture pictureElement;
            List<ProjectElement> projectElements;

            informationElement = new ProjectElement_Information
            {

                location = "Here",
                email = "*****@*****.**",
                school= "Univeristy of Nebraska- Lincoln",
                phone = "402-402-4111",
                major = "Actuarial Science",
                minor = "Business Administration",
                description = "tetetetetet"
            };
            documentElement = new ProjectElement_Document
            {
                description = "im a document",
                documentLocation = "asdfasdf"
            };
            experienceElement = new ProjectElement_Experience
            {
                jobTitle = "Owner",
                description = "I'm CEO Bitch.",
                startDate = new DateTime(1991, 6, 12),
                endDate = new DateTime(2011, 6, 12)
            };
            pictureElement = new ProjectElement_Picture
            {
                description = "im a picture",
                pictureLocation = "sadfsadfsa"
            };
            videoElement = new ProjectElement_Video
            {
                //put a test id you know in here haun
                videoId = "xxxxx",
                description = "asdfsadfasdf"
            };

            projectElements = new List<ProjectElement>();
            projectElements.Add(informationElement);
            projectElements.Add(experienceElement);
            projectElements.Add(documentElement);
            projectElements.Add(pictureElement);
            projectElements.Add(videoElement);

            //Save elements to project
            project.projectElements = projectElements;

            //Save Changes to DB
            VestnDB db = new VestnDB();
            db.projects.Add(project);
            if (u.projects == null)
            {
                u.projects = new List<Project>();
            }
            u.projects.Add(project);
            db.Entry(u).State = EntityState.Modified;
            db.SaveChanges();
        }
Beispiel #8
0
        public JsonModels.CompleteProject GetProjectJson(Project project)
        {
            JsonModels.CompleteProject cp = new JsonModels.CompleteProject();
            if (project != null)
            {
                cp.coverPicture = project.coverPicture;
                cp.coverPictureThumbnail = project.coverPictureThumbnail;
                cp.description = project.description;
                cp.artifactOrder = project.projectElementOrder;
                cp.id = project.id;
                cp.title = project.name;
                cp.dateModified = project.dateModified.ToString();
                cp.props = GetProjectProps(project.id);
                if (project.projectElements == null)
                {
                    cp.artifacts = null;
                }
                else if (project.projectElementOrder != null)
                {
                    ReorderEngine re = new ReorderEngine();
                    List<int> IDS = re.stringOrderToList(project.projectElementOrder);
                    int[] ids = IDS.ToArray();

                    cp.artifacts = GetArtifacts(ids);
                    cp.artifactOrder = project.projectElementOrder;
                }
                return cp;
            }
            else
            {
                return null;
            }
        }
Beispiel #9
0
 //public int moveProjectElementPrevious(Project p, int id, string type)
 //{
 //    string result;
 //    if (type == "pe-document-selector")
 //    {
 //        result = SwapPrevious(stringOrderToList(p.projectElementOrderDocument), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderDocument = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-picture-selector")
 //    {
 //        result = SwapPrevious(stringOrderToList(p.projectElementOrderPicture), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderPicture = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-experience-selector")
 //    {
 //        result = SwapPrevious(stringOrderToList(p.projectElementOrderExperience), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderExperience = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-video-selector")
 //    {
 //        result = SwapPrevious(stringOrderToList(p.projectElementOrderVideo), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderVideo = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-audio-selector")
 //    {
 //        result = SwapPrevious(stringOrderToList(p.projectElementOrderAudio), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderAudio = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    return id;
 //}
 //public int moveProjectElementNext(Project p, int id, string type)
 //{
 //    string result;
 //    if (type == "pe-document-selector")
 //    {
 //        result = SwapNext(stringOrderToList(p.projectElementOrderDocument), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderDocument = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-picture-selector")
 //    {
 //        result = SwapNext(stringOrderToList(p.projectElementOrderPicture), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderPicture = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-experience-selector")
 //    {
 //        result = SwapNext(stringOrderToList(p.projectElementOrderExperience), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderExperience = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-video-selector")
 //    {
 //        result = SwapNext(stringOrderToList(p.projectElementOrderVideo), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderVideo = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    else if (type == "pe-audio-selector")
 //    {
 //        result = SwapNext(stringOrderToList(p.projectElementOrderAudio), id);
 //        if (result != null)
 //        {
 //            p.projectElementOrderAudio = result;
 //        }
 //        else
 //        {
 //            return -1;
 //        }
 //    }
 //    return id;
 //}
 //public int deleteProjectElementFromOrder(Project p, int id, string type)
 //{
 //    //List<int> orderList = new List<int>();
 //    if (type == "Document")
 //    {
 //        p.projectElementOrderDocument = RemoveFromElementFromList(stringOrderToList(p.projectElementOrderDocument), id);
 //    }
 //    else if (type == "Picture")
 //    {
 //        p.projectElementOrderPicture = RemoveFromElementFromList(stringOrderToList(p.projectElementOrderPicture), id);
 //    }
 //    else if (type == "Experience")
 //    {
 //        p.projectElementOrderExperience = RemoveFromElementFromList(stringOrderToList(p.projectElementOrderExperience), id);
 //    }
 //    else if (type == "Video")
 //    {
 //        p.projectElementOrderVideo = RemoveFromElementFromList(stringOrderToList(p.projectElementOrderVideo), id);
 //    }
 //    else if (type == "Audio")
 //    {
 //        p.projectElementOrderAudio = RemoveFromElementFromList(stringOrderToList(p.projectElementOrderAudio), id);
 //    }
 //    return id;
 //}
 public int deleteProjectElementFromOrder(Project p, int id)
 {
     if (p.projectElementOrder == null)
     {
         string newOrder = null;
         foreach (ProjectElement pe in p.projectElements)
         {
             newOrder += pe.id + " ";
         }
         if (newOrder != null)
         {
             newOrder = newOrder.TrimEnd().Replace(' ', ',');
         }
         p.projectElementOrder = newOrder;
     }
     else
     {
         p.projectElementOrder = RemoveFromElementFromList(reorderEngine.stringOrderToList(p.projectElementOrder), id);
     }
     return id;
 }
Beispiel #10
0
        public Project DeleteProject(Project p)
        {
            //delete all user media?

            p.isActive = false;
            p.privacy = "deleted";
            return pa.UpdateProject(p);
        }
Beispiel #11
0
 public int AddProjectElement(Project project, ProjectElement pe)
 {
     return pa.AddProjectElement(project, pe);
 }
Beispiel #12
0
 public Project UpdateProject(Project project)
 {
     return pa.UpdateProject(project);
 }
Beispiel #13
0
 public Project resetProjectElementOrder(Project p)
 {
     string newProjectOrder =null;
     foreach (ProjectElement pe in p.projectElements)
     {
         newProjectOrder += pe.id + " ";
     }
     if (newProjectOrder != null)
     {
         p.projectElementOrder = newProjectOrder.TrimEnd().Replace(' ', ',');
     }
     else
     {
         p.projectElementOrder = null;
     }
     return p;
 }
Beispiel #14
0
 public Project UpdateProject(Project project)
 {
     if (GetProject(project.id) == null)
     {
         return null;
     }
     try
     {
         VestnDB db = new VestnDB();
         db.Entry(project).State = EntityState.Modified;
         db.SaveChanges();
     }
     catch (Exception e)
     {
         logAccessor.CreateLog(DateTime.Now, this.GetType().ToString() + "." + System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), e.ToString());
         return null;
     }
     return project;
 }
Beispiel #15
0
 public Project DeleteProject(Project p)
 {
     VestnDB db = new VestnDB();
     db.projects.Attach(p);
     List<ProjectElement> peList = new List<ProjectElement>();
     foreach (ProjectElement pe in p.projectElements)
     {
         peList.Add(pe);
     }
     foreach (ProjectElement pe in peList)
     {
         db.projectElements.Remove(pe);
     }
     db.projects.Remove(p);
     db.SaveChanges();
     return p;
 }