Пример #1
0
        public async Task <FlareGroup> UpdateFlareGroup(FlareGroup flareGroup)
        {
            if (!ValidateFlareGroup(flareGroup))
            {
                throw new ArgumentException("Invalid Flare Group!");
            }

            FlareGroup existing = await GetFlareGroupById(flareGroup.Id);

            if (existing == null)
            {
                return(null);
            }

            //merge values

            existing.Description = flareGroup.Description;

            existing.Name = flareGroup.Name;

            if (flareGroup.Data != null)
            {
                foreach (var kv in flareGroup.Data)
                {
                    if (existing.Data.ContainsKey(kv.Key))
                    {
                        existing.Data[kv.Key] = kv.Value;
                    }
                    else
                    {
                        existing.Data.Add(kv.Key, kv.Value);
                    }
                }
            }

            flareGroup = await FlareGroupRepository.Update(flareGroup);

            return(flareGroup);
        }