public GroupHistoryEntry CreateLogChangeDate(Group group, NhbkDate?oldValue, NhbkDate newValue)
 {
     return(new GroupHistoryEntry
     {
         Group = group,
         Action = UpdateDateActionName,
         Date = DateTime.Now,
         Gm = false,
         Data = _jsonUtil.Serialize(new { oldValue, newValue })
     });
 }
 public GroupHistoryEntry CreateLogAddTime(Group group, NhbkDate date, NhbkDateOffset timeOffset)
 {
     return(new GroupHistoryEntry
     {
         Group = group,
         Action = AddTimeActionName,
         Date = DateTime.Now,
         Gm = false,
         Data = _jsonUtil.Serialize(new { timeOffset, date })
     });
 }
Beispiel #3
0
        public void ApplyChangesAndNotify(Group group, PatchGroupRequest request, INotificationSession notificationSession)
        {
            var groupData = _jsonUtil.Deserialize <GroupData>(group.Data) ?? new GroupData();

            if (request.Mankdebol.HasValue)
            {
                group.AddHistoryEntry(_groupHistoryUtil.CreateLogChangeMankdebol(group, groupData.Mankdebol, request.Mankdebol.Value));
                groupData.Mankdebol = request.Mankdebol.Value;
            }

            if (request.Debilibeuk.HasValue)
            {
                group.AddHistoryEntry(_groupHistoryUtil.CreateLogChangeDebilibeuk(group, groupData.Debilibeuk, request.Debilibeuk.Value));
                groupData.Debilibeuk = request.Debilibeuk.Value;
            }

            if (request.Date != null)
            {
                var newDate = new NhbkDate(request.Date);
                group.AddHistoryEntry(_groupHistoryUtil.CreateLogChangeDate(group, groupData.Date, newDate));
                groupData.Date = newDate;
            }

            if (request.FighterIndex != null)
            {
                groupData.CurrentFighterIndex = request.FighterIndex.Value;
            }

            if (request.Name != null)
            {
                group.Name = request.Name;
            }

            notificationSession.NotifyGroupChangeGroupData(group.Id, groupData);

            group.Data = _jsonUtil.Serialize(groupData);
        }