public async Task <IActionResult> PushReceiversList(DataSourceRequest command)
        {
            var receivers = await _pushNotificationsService.GetPushReceivers(command.Page - 1, command.PageSize);

            var gridModel = new DataSourceResult();
            var list      = new List <PushRegistrationGridModel>();

            foreach (var receiver in receivers)
            {
                var gridReceiver = new PushRegistrationGridModel();

                var customer = await _customerService.GetCustomerById(receiver.CustomerId);

                if (customer == null)
                {
                    await _pushNotificationsService.DeletePushReceiver(receiver);

                    continue;
                }

                if (!string.IsNullOrEmpty(customer.Email))
                {
                    gridReceiver.CustomerEmail = customer.Email;
                }
                else
                {
                    gridReceiver.CustomerEmail = _translationService.GetResource("Admin.Customers.Guest");
                }

                gridReceiver.CustomerId   = receiver.CustomerId;
                gridReceiver.Id           = receiver.Id;
                gridReceiver.RegisteredOn = _dateTimeService.ConvertToUserTime(receiver.RegisteredOn, DateTimeKind.Utc);
                gridReceiver.Token        = receiver.Token;
                gridReceiver.Allowed      = receiver.Allowed;

                list.Add(gridReceiver);
            }

            gridModel.Data  = list;
            gridModel.Total = receivers.TotalCount;

            return(Json(gridModel));
        }
        public async Task CanDeleteRegistration()
        {
            ClearPushRegistrations();

            var toDelete = new PushRegistration();
            await _pushNotificationsService.InsertPushReceiver(toDelete);

            Assert.AreEqual(1, _registrationRepository.Table.Count());
            await _pushNotificationsService.DeletePushReceiver(toDelete);

            Assert.AreEqual(0, _registrationRepository.Table.Count());
        }