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; }
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; }
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; } }
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; }
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(); }
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; } }
//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; }
public Project DeleteProject(Project p) { //delete all user media? p.isActive = false; p.privacy = "deleted"; return pa.UpdateProject(p); }
public int AddProjectElement(Project project, ProjectElement pe) { return pa.AddProjectElement(project, pe); }
public Project UpdateProject(Project project) { return pa.UpdateProject(project); }
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; }
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; }
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; }