public async Task <ActionResult> PostGroup([FromBody] GroupPostRequestModel group)
        {
            if (!ModelState.IsValid)
            {
                var messages = new List <string>();
                var states   = ModelState.Where(mse => mse.Value.Errors.Count > 0);
                foreach (var state in states)
                {
                    var message = $"{state.Key}. Errors: {string.Join(", ", state.Value.Errors.Select(e => e.ErrorMessage))}\n";
                    messages.Add(message);
                }
                _logger.LogError(string.Join("\n", messages));
                return(BadRequest());
            }
            // Save group
            await _store.SaveGroupAsync(
                new Group
            {
                Name        = group.Name,
                CustomType  = group.CustomType,
                Description = group.Description,
                Members     = group.Members
            }
                );

            // Return result
            return(CreatedAtRoute(nameof(GetGroup), new { groupName = group.Name }, null));
        }
        public async Task <ActionResult> PutGroup([FromBody] GroupPostRequestModel group)
        {
            // Update group
            await _store.SaveGroupAsync(
                new Group
            {
                Name        = group.Name,
                CustomType  = group.CustomType,
                Description = group.Description,
                Members     = group.Members
            }
                );

            // Return result
            return(NoContent());
        }