public void SaveRosterItemData(SaveItemDataQuery query)
        {
            DisableCaching();
            try
            {
                if (query == null)
                {
                    throw new ArgumentNullException("query");
                }

                var rosterConfigService = new RosterConfigService();
                if (!rosterConfigService.HasRights(query.ItemId, query.ListId, AccessRight.Write))
                {
                    throw new Exception("You don't have permissions to modify current roster");
                }

                var rosterDataService = new RosterDataService();
                rosterDataService.SaveRosterEventItem(query.ListId, query.ItemId, query.FieldName, query.Value);
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }