Пример #1
0
        public OpenRomCommand(Nes nesEmulator, ILoaderProvider loaderProvider)
        {
            _nesEmulator    = nesEmulator;
            _loaderProvider = loaderProvider;

            MenuText = Resources.Text.FileOpen;
            Shortcut = Application.Instance.CommonModifier | Keys.O;
        }
Пример #2
0
#pragma warning restore

        public async Task <int> SaveChangesAsync(
            ITelegramUserIdProvider telegramUserIdProvider,
            ILoaderProvider loaderProvider,
            CancellationToken token = default)
        {
            await OnPreSavingAsync(telegramUserIdProvider, loaderProvider);

            return(await base.SaveChangesAsync(token));
        }
Пример #3
0
 public HookrRepository(HookrContext context,
                        IPolicySet policySet,
                        ITelegramUserIdProvider telegramUserIdProvider,
                        ILoaderProvider loaderProvider)
 {
     PolicySet = policySet;
     this.telegramUserIdProvider = telegramUserIdProvider;
     this.loaderProvider         = loaderProvider;
     Context = context;
 }
Пример #4
0
 public GrabbingCurrentTelegramUpdateFilterAttribute(IUserContextProvider userContextProvider,
                                                     ITelegramUsersNotifier telegramUsersNotifier,
                                                     ITelegramUserIdProvider telegramUserIdProvider,
                                                     ILoaderProvider loaderProvider)
 {
     this.userContextProvider    = userContextProvider;
     this.telegramUsersNotifier  = telegramUsersNotifier;
     this.telegramUserIdProvider = telegramUserIdProvider;
     this.loaderProvider         = loaderProvider;
 }
Пример #5
0
        private async Task OnPreSavingAsync(ITelegramUserIdProvider telegramUserIdProvider,
                                            ILoaderProvider loaderProvider)
        {
            var entries = ChangeTracker.Entries()
                          .ToArray();

            var user = await loaderProvider
                       .Get <int, TelegramUser>()
                       .GetOrLoadAsync(telegramUserIdProvider.ProvidedValue, true);

            var now = DateTime.Now;

            entries
            .ForEach(x =>
            {
                if (!(x.Entity is Entity entity))
                {
                    return;
                }

                switch (x.State)
                {
                case EntityState.Added:
                    entity.CreatedAt = now;
                    entity.CreatedBy = user;
                    break;

                case EntityState.Modified:
                    entity.UpdatedAt = now;
                    entity.UpdatedBy = user;
                    break;

                case EntityState.Deleted:
                    if (entity is ISoftDeletable softDeletable)
                    {
                        x.State = EntityState.Modified;
                        softDeletable.DeletedAt = now;
                        softDeletable.DeletedBy = user;
                        softDeletable.IsDeleted = true;
                    }

                    break;
                }
            });
            // todo optimize
            user.LastUpdatedAt = now;
            if (entries
                .Select(x => x.Entity)
                .OfType <TelegramUser>()
                .All(x => x.Id != user.Id))
            {
                Update(user);
            }
        }
Пример #6
0
        public MainForm()
        {
            Title = Resources.Text.Nesforia;

            ClientSize = new Size(320, 240);

            // todo: di
            _loaderProvider = new LoaderProvider();
            _loaderProvider.AddLoader(new NesFormatLoader());

            CreateMenu();
        }
Пример #7
0
 public TelegramHookrRepository(HookrContext context,
                                IPolicySet policySet,
                                ITelegramUserIdProvider telegramUserIdProvider,
                                IMemoryCache memoryCache,
                                ILoaderProvider loaderProvider)
     : base(context,
            policySet,
            telegramUserIdProvider,
            loaderProvider)
 {
     this.memoryCache = memoryCache;
 }