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");
        }
Exemplo n.º 2
0
        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);
        }