Пример #1
0
        private async Task <SyncResponseViewModel> GetChanges(IApplication app, SyncRequestViewModel request)
        {
            var response = new SyncResponseViewModel()
            {
                Groups = new List <SyncResponseViewModel.GroupViewModel>()
            };

            if (request.Groups != null)
            {
                foreach (var group in request.Groups)
                {
                    List <IChange> results = await ChangeRepository.ListChangesAsync(app.Id, group.Group, group.Tidemark);

                    if (results != null && results.Any())
                    {
                        response.Groups.Add(new SyncResponseViewModel.GroupViewModel()
                        {
                            Group    = group.Group,
                            Tidemark = results.Last().Id,
                            Changes  = results.Select(r => new SyncResponseViewModel.ChangeViewModel()
                            {
                                Modified = r.ClientModified,
                                Value    = r.RecordValue,
                                Entity   = r.Entity,
                                RecordId = r.RecordId,
                                Property = r.Property
                            }).ToList()
                        });
                    }
                }
            }

            return(response);
        }