ActivEarth.DAO.GroupDAO.DeleteGroup C# (CSharp) Метод

DeleteGroup() публичный статический Метод

Removes an existing Group from the DB.
public static DeleteGroup ( int groupId ) : bool
groupId int ID of Group whose information needs to be deleted.
Результат bool
        public static bool DeleteGroup(int groupId)
        {
            try
            {
                using (SqlConnection connection = ConnectionManager.GetConnection())
                {
                    var data = new ActivEarthDataProvidersDataContext(connection);
                    GroupDataProvider dbGroup = (from g in data.GroupDataProviders
                                                 where g.id == groupId
                                                 select g).FirstOrDefault();
                    if (dbGroup != null)
                    {
                        data.GroupDataProviders.DeleteOnSubmit(dbGroup);

                        //Delete entries in the group_hashtags table
                        List<GroupHashtagDataProvider> hashtags = (from h in data.GroupHashtagDataProviders
                                                                   where h.group_id == groupId
                                                                   select
                                                                       h
                                         ).ToList();

                        foreach (GroupHashtagDataProvider hashtagData in hashtags)
                        {
                            data.GroupHashtagDataProviders.DeleteOnSubmit(hashtagData);
                        }

                        //Delete entries in group_members table
                        List<GroupMemberDataProvider> members = (from u in data.GroupMemberDataProviders
                                                                 where u.group_id == groupId
                                                                 select
                                                                     u
                                              ).ToList();

                        foreach (GroupMemberDataProvider memberData in members)
                        {
                            data.GroupMemberDataProviders.DeleteOnSubmit(memberData);
                        }

                        //Delete entires in group_contests table
                        List<TeamDataProvider> contests = (from c in data.TeamDataProviders
                                                                   where c.group_id == groupId
                                                                   select
                                                                       c
                                                 ).ToList();

                        foreach (TeamDataProvider contestData in contests)
                        {
                            data.TeamDataProviders.DeleteOnSubmit(contestData);
                        }

                        //Remove entires in messages table
                        List<MessageDataProvider> messages = (from m in data.MessageDataProviders
                                                              where m.group_id == groupId
                                                              select
                                                                  m
                                                  ).ToList();

                        foreach (MessageDataProvider messageData in messages)
                        {
                                data.MessageDataProviders.DeleteOnSubmit(messageData);
                        }

                        data.SubmitChanges();
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            catch (Exception)
            {
                return false;
            }
        }