protected void ExpertDeleteButtonClick(object sender, EventArgs e) { Button button = (Button)sender; if (button != null) { var IdTmp = Session["GroupID"]; if (IdTmp == null) { Response.Redirect("Main.aspx"); } int groupid = Convert.ToInt32(IdTmp); CompetitionDataContext CompetitionsDataBase = new CompetitionDataContext(); zExpertAndExpertGroupMappingTable expertdelete = (from a in CompetitionsDataBase.zExpertAndExpertGroupMappingTable where a.FK_UsersTable == Convert.ToInt32(button.CommandArgument) && a.Active == true && a.FK_ExpertGroupTable == groupid select a).FirstOrDefault(); if (expertdelete != null) { expertdelete.Active = false; CompetitionsDataBase.SubmitChanges(); } } Response.Redirect("CompetitionExpertEdit.aspx"); }
private DataTable GetFilledDataTable(List <UsersTable> expertsList) { var appid = Session["ApplicationID"]; int idapp = Convert.ToInt32(appid); DataTable dataTable = new DataTable(); dataTable.Columns.Add("ID", typeof(string)); dataTable.Columns.Add("Name", typeof(string)); dataTable.Columns.Add("AccessLevel", typeof(string)); dataTable.Columns.Add("SendedDataTime", typeof(string)); dataTable.Columns.Add(new DataColumn("Color", typeof(string))); foreach (UsersTable currentExpert in expertsList) { CompetitionDataContext CompetitionsDataBase = new CompetitionDataContext(); DataRow dataRow = dataTable.NewRow(); dataRow["ID"] = currentExpert.ID; dataRow["Name"] = currentExpert.Email; zExpertAndExpertGroupMappingTable accesstext = (from f in CompetitionsDataBase.zExpertAndExpertGroupMappingTable where f.Active == true && f.FK_UsersTable == currentExpert.ID join a in CompetitionsDataBase.zExpertGroup on f.FK_ExpertGroupTable equals a.ID where a.Active == true select f).FirstOrDefault(); if (accesstext == null) { dataRow["AccessLevel"] = "Привлеченный эксперт"; } else { dataRow["AccessLevel"] = (from a in CompetitionsDataBase.zExpertGroup where a.Active == true join b in CompetitionsDataBase.zExpertAndExpertGroupMappingTable on a.ID equals b.FK_ExpertGroupTable where b.FK_UsersTable == Convert.ToInt32(currentExpert.ID) select a.Name).FirstOrDefault(); } dataRow["SendedDataTime"] = (from a in CompetitionsDataBase.zExpertPointsValue where a.Active == true && a.FK_ExpertsTable == currentExpert.ID && a.FK_ApplicationTable == idapp select a.SendedDataTime).Distinct().FirstOrDefault().ToString().Split(' ')[0]; var appID = Session["ApplicationID"]; int IDapp = Convert.ToInt32(appID); List <zExpertPointsValue> nwList = (from a in CompetitionsDataBase.zExpertPointsValue where a.Active == true && a.FK_ExpertsTable == Convert.ToInt32(currentExpert.ID) && a.FK_ApplicationTable == IDapp select a).ToList(); // download.Enabled = true; dataRow["Color"] = 3; // зеленый foreach (zExpertPointsValue currentValue in nwList) { if (currentValue.Sended != true) { dataRow["Color"] = 1; } // красный if (currentValue.Sended != true && currentValue.LastChangeDataTime != null) { dataRow["Color"] = 2; } // желтый } if (nwList.Count < 1) { dataRow["Color"] = 1; // красный } dataTable.Rows.Add(dataRow); } return(dataTable); }