protected void CreateProjectGroup(int project_id) { try { // Add the selected group and project to a new project group var rightgroup = ctx.group.Where(g => g.name == ddlGroupList.SelectedItem.Text).FirstOrDefault(); var rightproject = ctx.project.Where(pr => pr.project_id == project_id).FirstOrDefault(); if (rightgroup != null && rightproject != null) { var projectgroup = new project_group { group_id = rightgroup.group_id, project_id = rightproject.project_id, supporting = false }; rightgroup.project_group.Add(projectgroup); rightproject.project_group.Add(projectgroup); ctx.SaveChanges(); } // Insert a new project_person for each member of the selected group if (rightgroup != null && rightproject != null) { var groupmember_ids = ctx.group_member.Where(gm => gm.group_id == rightgroup.group_id).ToList(); List <person> groupmembers = new List <person>(); foreach (var groupmember in groupmember_ids) { groupmembers.Add(ctx.person.Where(p => p.person_id == groupmember.person_id).SingleOrDefault()); } foreach (var member in groupmembers) { var prope = new project_person { project_id = rightproject.project_id, person_id = member.person_id, group_id = rightgroup.group_id, project_person_supporting = false }; member.edited = DateTime.Now; member.project_person.Add(prope); rightproject.project_person.Add(prope); } rightproject.edited = DateTime.Now; ctx.SaveChanges(); } } catch (Exception ex) { lbmessages.Text = ex.Message; } }
protected void gvGroups_SelectedIndexChanged(object sender, EventArgs e) { // Add the selected group to the project string group_name = (gvGroups.SelectedRow.Cells[0].Controls[0] as LinkButton).Text; string project_id = String.Empty; // Fill the project_group database table as well try { List <group> searchlistgroups = (List <group>)Session["SearchListGroups"]; project_id = Request.QueryString["Project"]; int to_add_projectid = int.Parse(project_id); if (project_id != String.Empty) { var addedgroup = ctx.group.Where(g => g.name == group_name).SingleOrDefault(); var addedproject = ctx.project.Where(pr => pr.project_id == to_add_projectid).SingleOrDefault(); bool checklegit = false; foreach (var group in searchlistgroups) { if (group.group_id == addedgroup.group_id) { checklegit = true; } } // Add the selected group and project to a new project group if (addedgroup != null && addedproject != null && checklegit == true) { var prg = new project_group { group_id = addedgroup.group_id, project_id = addedproject.project_id, supporting = true }; addedproject.edited = DateTime.Now; addedgroup.edited = DateTime.Now; addedproject.project_group.Add(prg); addedgroup.project_group.Add(prg); } // Insert a new project_person for each member of the selected group if (addedgroup != null && addedproject != null && checklegit == true) { var groupmember_ids = ctx.group_member.Where(gm => gm.group_id == addedgroup.group_id).ToList(); List <person> groupmembers = new List <person>(); foreach (var groupmember in groupmember_ids) { groupmembers.Add(ctx.person.Where(p => p.person_id == groupmember.person_id).SingleOrDefault()); } foreach (var member in groupmembers) { var prope = new project_person { project_id = addedproject.project_id, person_id = member.person_id, group_id = addedgroup.group_id, project_person_supporting = true }; member.edited = DateTime.Now; member.project_person.Add(prope); addedproject.project_person.Add(prope); } addedproject.edited = DateTime.Now; ctx.SaveChanges(); } } else { lbMessages.Text = "No Group Specified"; } } catch (Exception ex) { lbMessages.Text = ex.Message; } if (project_id != String.Empty) { Response.Redirect(String.Format(Request.ApplicationPath + "Project.aspx?Project={0}", project_id)); } }