public AddGroup(UnitOfWork repo)
 {
     repository = repo;
     InitializeComponent();
     LoadGroup();
     userGroup = new UserGroup();
     usergroupbindingSource.DataSource = userGroup;
 }
        private void BtnSaveGroupClick(object sender, EventArgs e)
        {
            if (grouplistbox.SelectedItem == null)
            {
                ViewHelper.ShowErrorMessage("There is no group to be added.");
                activityLogger.SaveAction(CurrentUser.UserID, 1, "Group Window", "There is no group to be added.");
                this.Close();
            }
            usergroupbindingSource.EndEdit();
            var obj = usergroupbindingSource.DataSource as List<UserGroup>;
            try
            {
                var selectedItems = grouplistbox.SelectedItems;
                foreach (var anItem in selectedItems)
                {
                    var item = anItem as Group;
                    //foreach (var groupPermission in item.GroupPermissions)
                    //{
                    //    var permission = new Permission
                    //    {
                    //        UserID = CurrentUser.UserID,
                    //        OperationID = groupPermission.OperationID,
                    //        Allow = groupPermission.Allow
                    //    };
                    //    repository.Permissions.Add(permission);
                    //   activityLogger.SaveAction(CurrentUser.UserID, 1, "User Permission Window", "User Permission Succesfully Added");
                    //  }
                    var ug = repository.UserGroups.FindBy(g => g.GroupID == item.GroupID && g.UserID == CurrentUser.UserID).FirstOrDefault();
                    if (ug != null)
                    {
                        ug.GroupStatus = true;
                        repository.UserGroups.Update(ug);
                    }
                    else
                    {
                        var usergroup = new UserGroup
                                            {
                                                GroupID = item.GroupID,
                                                UserID = CurrentUser.UserID,
                                                GroupStatus = true
                                            };
                        repository.UserGroups.Add(usergroup);
                        activityLogger.SaveAction(CurrentUser.UserID, 1, "Group Window", "Group Succesfully Added");

                    }
                }
                this.Close();
            }
            catch (Exception ex)
            {
                ViewHelper.ShowErrorMessage("Unable to create user group!");
                errorLogger.SaveError(CurrentUser.UserID, 1, 1, 2, "Add group attempt", "Warehouse", ex);
            }
        }