/// <summary> /// get all the porjects and summary information /// </summary> /// <returns></returns> public List<ProjectModel> project_summary() { List<ProjectModel> model = new List<ProjectModel>(); try { DashDataContext ctx = new DashDataContext(); int num = 1; foreach (projectStatus s in ctx.project_status) { ProjectModel data = new ProjectModel { Id = num++, Name = s.project, Status = s.status, Page_Count = new DashDataContext().projtbl.Where(m=>m.proj==s.project).Count() }; model.Add(data); } } catch(Exception ex) { } return model; }
/// <summary> /// add new project /// </summary> /// <param name="project_name"></param> public void newProject(string project_name) { try { DashDataContext ctx = new DashDataContext(); ctx.project_status.Add(new projectStatus { project = project_name, status = true }); ctx.SaveChanges(); } catch(Exception ex) { } }
/// <summary> /// get list and status of all the pages in the project /// </summary> /// <param name="project_name"></param> /// <returns></returns> public List<ManageProjectModel> projectSearch(string project_name) { List<ManageProjectModel> model = new List<ManageProjectModel>(); try { DashDataContext ctx = new DashDataContext(); var data = ctx.projtbl.Where(m => m.proj == project_name); int num = 1; foreach(project_tbl m in data) { model.Add(new ManageProjectModel { Id = num++, Page = m.url, Status = m.PageActive }); } } catch(Exception ex) { } return model; }
/// <summary> /// number ofpage for each project /// </summary> /// <param name="Project"></param> /// <returns></returns> public int pageCount(string Project) { int num = 0; try { num = new DashDataContext().projtbl.Where(m => m.proj == Project).Count(); } catch (Exception ex) { } return num; }
public ProjectMenuModel menuItems() { ProjectMenuModel menu = new ProjectMenuModel(); menu.pages = new Dictionary<string, List<string>>(); try { DashDataContext ctx = new DashDataContext(); var projects = ctx.project_status.Where(m => m.status == true); foreach(projectStatus m in projects) menu.pages.Add(m.project, new List<string>()); foreach(string k in menu.pages.Keys) { var data = ctx.projtbl.Where(j => j.proj == k && j.PageActive == true); foreach (project_tbl n in data) menu.pages[k].Add(n.url); } } catch (Exception ex) { } return menu; }
/// <summary> /// delete page from project /// </summary> /// <param name="project_name"></param> /// <param name="page"></param> public void deletePage(string project_name, string page) { try { DashDataContext ctx = new DashDataContext(); var data = ctx.projtbl.FirstOrDefault(m => m.proj == project_name && m.url == page); if (data != null) ctx.projtbl.Remove(data); ctx.SaveChanges(); } catch(Exception ex) { } }
/// <summary> /// delete projects /// </summary> /// <param name="project_name"></param> public void deleteProject(string Project) { try { DashDataContext ctx = new DashDataContext(); var data = ctx.project_status.FirstOrDefault(m => m.project == Project); if (data != null) ctx.project_status.Remove(data); var data2 = ctx.projtbl.Where(m => m.proj == Project); if (data2 != null) foreach (project_tbl m in data2) ctx.projtbl.Remove(m); ctx.SaveChanges(); } catch(Exception ex) { } }
/// <summary> /// update page page name /// </summary> /// <param name="project"></param> /// <param name="currentPageName"></param> /// <param name="previousPageName"></param> public void updatePage_name(string project, string currentPageName, string previousPageName) { try { DashDataContext ctx = new DashDataContext(); var data = ctx.projtbl.FirstOrDefault(m => m.proj == project && m.url == previousPageName); data.url = currentPageName; ctx.SaveChanges(); } catch(Exception ex) { } }
/// <summary> /// update page status /// </summary> /// <param name="project"></param> /// <param name="page"></param> /// <param name="status"></param> public void updatePage_status(string project, string page,bool status) { try { DashDataContext ctx = new DashDataContext(); var Page = ctx.projtbl.FirstOrDefault(m => m.proj == project && m.url == page); if (Page == null) ctx.projtbl.Add(new project_tbl { PageActive = status, proj = project, url = page }); else Page.PageActive = status; ctx.SaveChanges(); } catch(Exception ex) { } }
/// <summary> /// update project status /// </summary> /// <param name="project"></param> /// <param name="status"></param> public void updateProject_status(string project,bool status) { try { DashDataContext ctx = new DashDataContext(); var prj = ctx.project_status.FirstOrDefault(m => m.project == project); prj.status = status; ctx.SaveChanges(); } catch(Exception ex) { } }