Ejemplo n.º 1
0
        public void ManageTransaction()
        {
            Item             item             = new Item();
            Transaction      transaction      = new Transaction();
            TransactionsItem transactionsItem = new TransactionsItem();

            // insert master transaction
            transaction.TransactionDate = DateTimeOffset.Now.LocalDateTime;
            _context.Transactions.Add(transaction);
            _context.SaveChanges();

            // get id transaction last
            var getTransaction       = _context.Transactions.Max(x => x.Id);
            var getTransactionDetail = _context.Transactions.Find(getTransaction);

            Console.WriteLine("Transaction Id : " + getTransaction);
            Console.WriteLine("Transaction Date : " + getTransactionDetail.TransactionDate);

            Console.Write("How many items : ");
            count = Convert.ToInt16(Console.ReadLine());
            if (count == null)
            {
                Console.WriteLine("Please insert count of item that you want to buy");
                Console.Read();
            }
            else
            {
                for (int i = 1; i <= count; i++)
                {
                    Console.Write("Insert id item : ");
                    int?id = Convert.ToInt16(Console.ReadLine());
                    if (id == null)
                    {
                        Console.WriteLine("Please insert id that you want to buy");
                        Console.Read();
                    }
                    else
                    {
                        // Pencarian Id Item
                        var getItem = _context.Items.Find(id);
                        if (getItem == null)
                        {
                            Console.WriteLine("We don't have item with id : " + id);
                            Console.Read();
                        }
                        else
                        {
                            Console.Write("Insert amount of item : ");
                            int?quantity = Convert.ToInt16(Console.ReadLine());
                            if (getItem.Stock < quantity)
                            {
                                Console.Write("Stock is not enough, we have " + getItem.Stock);
                                Console.Read();
                            }
                            else
                            {
                                transactionsItem.Transaction = getTransactionDetail;
                                transactionsItem.Items       = getItem;
                                transactionsItem.Quantity    = quantity;
                                _context.TransactionsItem.Add(transactionsItem);
                                _context.SaveChanges();
                            }
                        }
                    }
                }

                var getPrice = _context.TransactionsItem.Where(x => x.Transaction.Id == getTransactionDetail.Id).ToList();
                int?total    = 0;
                foreach (var proceed in getPrice)
                {
                    total += (proceed.Quantity * proceed.Items.Price);
                }
                Console.WriteLine("Total Price : " + total);
                Console.Write("Balance     : ");
                int?balance = Convert.ToInt32(Console.ReadLine());
                Console.Write("Exchange    : " + (balance - total));
            }
        }
 public void SetItem(TransactionsItem item)
 {
     Item = item;
     CompletedLabel.Text = Item.CompletedCount.ToString();
     PendingLabel.Text   = Item.PendingCount.ToString();
 }