private void button1_Click(object sender, EventArgs e)
        {
            using (var q = new QueeuingEntities())
            {
                if (!q.Counters.Any(x => x.CounterNumber == (int)numericUpDown1.Value))
                {
                    var c = new Counter();
                    // c.IpAddress = label1.Text;
                    c.Transaction   = q.Transactions.FirstOrDefault(x => x.Name == transactions.Text);
                    c.CounterNumber = (int)numericUpDown1.Value;

                    q.Counters.Add(c);
                    q.SaveChanges();
                }
                else
                {
                    var c = q.Counters.FirstOrDefault(x => x.CounterNumber == (int)numericUpDown1.Value);
                    c.Transaction = q.Transactions.FirstOrDefault(x => x.Name == transactions.Text);
                    q.SaveChanges();
                }

                AppStartup.CounterNumber = (int)numericUpDown1.Value;
                DialogResult             = DialogResult.Yes;
                this.Close();
            }
        }
예제 #2
0
        private void nextNumber_Click(object sender, EventArgs e)
        {
            using (var q = new QueeuingEntities())
            {
                var counter = q.Counters.FirstOrDefault(x => x.CounterNumber == counterNum);

                if (currentNumber != null)
                {
                    Console.WriteLine("remove");
                    var cnum = q.Ques?.FirstOrDefault(x => x.Id == currentNumber.Id);
                    if (cnum != null)
                    {
                        cnum.Status = 2;
                    }
                }

                IQueryable <Que> numbers = null;

                if (checkBox1.Checked)
                {
                    numbers = q.Ques.Where(x => x.Transaction.Id == targetItem.Id && x.Status == 0 && x.Priority);
                    if (numbers.Count() == 0)
                    {
                        numbers = q.Ques.Where(x => x.Transaction.Id == targetItem.Id && x.Status == 0);
                    }
                }
                else
                {
                    numbers = q.Ques.Where(x => x.Transaction.Id == targetItem.Id && x.Status == 0);
                }

                if (numbers.Count() == 0)
                {
                    q.SaveChanges();
                    currentNumberTxt.Text = "--";
                    sendMessage();
                    MessageBox.Show("Numbers for this particular transaction is depleted. Choose other transactions.", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }

                Que next = numbers.First();
                currentNumber = next;
                next.Counter  = counter;
                next.Status   = 1;

                q.SaveChanges();

                currentNumberTxt.Text = next.TicketCode;
                sendMessage();
            }

            if (checkBox2.Checked)
            {
                WindowState = FormWindowState.Minimized;
            }
        }
        private void transactionsTable_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 4)
            {
                if (MessageBox.Show("Are you sure want to remove this type of transaction?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
                {
                    return;
                }
                ///get the transaction id in transaction table
                var tId = (int)transactionsTable.SelectedCells[0].Value;

                using (var q = new QueeuingEntities())
                {
                    ///get the reference of transaction in the model
                    var t = q.Transactions.FirstOrDefault(x => x.Id == tId);
                    ///if found in model, then remove
                    if (t != null)
                    {
                        q.Transactions.Remove(t);
                        q.SaveChanges();
                    }
                }
                ///remove the entry in the table
                transactionsTable.Rows.RemoveAt(e.RowIndex);
                changesMade = true;
            }
        }
예제 #4
0
 private void button2_Click(object sender, EventArgs e)
 {
     using (var q = new QueeuingEntities())
     {
         var counter = q.Counters.FirstOrDefault(x => x.CounterNumber == counterNum);
         q.Counters.Remove(counter);
         q.SaveChanges();
     }
     this.Close();
 }
예제 #5
0
 private void transactionType_SelectedIndexChanged(object sender, EventArgs e)
 {
     using (var q = new QueeuingEntities())
     {
         targetItem = q.Transactions.FirstOrDefault(x => x.Name == transactionType.Text);
         var c = q.Counters.FirstOrDefault(x => x.CounterNumber == counterNum);
         c.Transaction = targetItem;
         q.SaveChanges();
     }
 }
        private void button1_Click(object sender, EventArgs e)
        {
            using (var q = new QueeuingEntities())
            {
                var t = new Transaction();
                t.Name          = nameTxt.Text.Trim();
                t.Prefix        = prefTxt.Text.Trim();
                t.Details       = detTxt.Text.Trim();
                t.CurrentNumber = 0;

                q.Transactions.Add(t);
                q.SaveChanges();
            }
            ClearTextBoxes();
            changesMade = true;
        }
예제 #7
0
        private void skip_Click(object sender, EventArgs e)
        {
            if (currentNumber == null)
            {
                return;
            }

            using (var q = new QueeuingEntities())
            {
                var n = q.Ques.FirstOrDefault(x => x.Id == currentNumber.Id);
                n.Status = (int)NumberStatus.skipped;
                q.SaveChanges();
            }
            currentNumberTxt.Text = "--";
            currentNumber         = null;
            sendMessage();
        }
예제 #8
0
        private void Skipped_SkipSelect(object sender, int e)
        {
            //throw new NotImplementedException();
            using (var q = new QueeuingEntities())
            {
                if (currentNumber != null)
                {
                    var c = q.Ques.FirstOrDefault(x => x.Id == currentNumber.Id);
                    c.Status = (int)NumberStatus.done;
                }
                var skipped = q.Ques.FirstOrDefault(x => x.Id == e);
                currentNumber         = skipped;
                currentNumberTxt.Text = skipped.TicketCode;
                skipped.Status        = (int)NumberStatus.active;

                sendMessage();
                q.SaveChanges();
            }
        }
        private void confirmBtn_Click(object sender, EventArgs e)
        {
            using (var q = new QueeuingEntities())
            {
                var newQue = new Que();
                newQue.TransactionId = targetTransaction.Id;
                newQue.Priority      = isPrio.Checked;
                newQue.Status        = 0;
                newQue.TicketCode    = number.Text;

                var t = q.Transactions.FirstOrDefault(x => x.Id == targetTransaction.Id);
                t.CurrentNumber = Number;

                q.Ques.Add(newQue);
                q.SaveChanges();

                RNumber   = newQue.TicketCode;
                RCategory = newQue.Transaction.Name;
            }
            ///Print number
            document.Print();
            this.Close();
        }
예제 #10
0
        private void clearBtn_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Are you sure you want clear the number in Queue and reset all numbers to 1?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
            {
                return;
            }
            using (var q = new QueeuingEntities())
            {
                foreach (var i in q.Transactions)
                {
                    i.CurrentNumber = 0;
                }

                q.Ques.RemoveRange(q.Ques);
                q.SaveChanges();
            }

            var token = numbersTable.Controls.Cast <CounterToken>();

            foreach (var i in token)
            {
                i.Number = "--";
            }
        }