Exemple #1
0
        protected override void OnResume()
        {
            base.OnResume();
            mLayoutManager = new LinearLayoutManager(this);
            mRecyclerView.SetLayoutManager(mLayoutManager);

            mAdapter = new CommandsListAdapter(this, script.Id);

            mRecyclerView.SetAdapter(mAdapter);
            mAdapter.ItemClick           += OnItemClick;
            mAdapter.MoveOrderingCommand += MoveOrderingCommand;
        }
Exemple #2
0
        private void MoveOrderingCommand(object sender, int command_id)
        {
            ImageButton button = (ImageButton)sender;

            lock (DatabaseContext.DbLocker)
            {
                using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                {
                    CommandModel command = db.Commands.Find(command_id);
                    if (button.Id == Resource.Id.UpCommandOrdering)
                    {
                        if (db.Commands.Any(x => x.ScriptId == command.ScriptId && x.Ordering < command.Ordering))
                        {
                            int          exchange_order = db.Commands.Where(x => x.ScriptId == command.ScriptId && x.Ordering < command.Ordering).Max(x => x.Ordering);
                            CommandModel command2       = db.Commands.FirstOrDefault(x => x.ScriptId == command.ScriptId && x.Ordering == exchange_order);
                            command2.Ordering = command.Ordering;
                            command.Ordering  = exchange_order;
                            //
                            db.Commands.UpdateRange(command, command2);
                            db.SaveChanges();
                            //mAdapter.NotifyAll();
                        }
                    }
                    else
                    {
                        if (db.Commands.Any(x => x.ScriptId == command.ScriptId && x.Ordering > command.Ordering))
                        {
                            int          exchange_order = db.Commands.Where(x => x.ScriptId == command.ScriptId && x.Ordering > command.Ordering).Min(x => x.Ordering);
                            CommandModel command2       = db.Commands.FirstOrDefault(x => x.ScriptId == command.ScriptId && x.Ordering == exchange_order);
                            command2.Ordering = command.Ordering;
                            command.Ordering  = exchange_order;
                            //
                            db.Commands.UpdateRange(command, command2);
                            db.SaveChanges();
                            //mAdapter.Notify();
                        }
                    }
                    mAdapter = new CommandsListAdapter(this, script.Id);
                    mRecyclerView.SetAdapter(mAdapter);
                    mAdapter.ItemClick           += OnItemClick;
                    mAdapter.MoveOrderingCommand += MoveOrderingCommand;
                }
            }
        }