Exemple #1
0
        internal void Cancel_1(UCInvoice uCInvoice)
        {
            uCInvoice.TxtTable.Text      = string.Empty;
            uCInvoice.TxtTotal.Text      = string.Empty;
            uCInvoice.TxtTotalVAT.Text   = string.Empty;
            uCInvoice.TxtCurrency.Text   = string.Empty;
            uCInvoice.TxtUser.Text       = string.Empty;
            uCInvoice.TxtTotalToPay.Text = string.Empty;
            uCInvoice.TxtDate.Text       = string.Empty;

            uCInvoice.DgvItems.DataSource = null;

            uCInvoice.CbPayment.SelectedIndex = -1;
            uCInvoice.CbPayment.Enabled       = false;

            uCInvoice.BtnCancel.Enabled = false;
            uCInvoice.BtnPay.Enabled    = false;
            uCInvoice.BtnSave.Enabled   = false;

            uCInvoice.TxtCache.Text            = string.Empty;
            uCInvoice.TxtCache.Enabled         = false;
            uCInvoice.TxtCard.Text             = string.Empty;
            uCInvoice.TxtCard.Enabled          = false;
            uCInvoice.CbCardType.SelectedIndex = -1;
            uCInvoice.CbCardType.Enabled       = false;
            uCInvoice.TxtCardNumber.Text       = string.Empty;
            uCInvoice.TxtCardNumber.Enabled    = false;
        }
Exemple #2
0
        internal void SearchOrder_1(UCInvoice uCInvoice)
        {
            if (uCInvoice.CbTable.SelectedIndex == -1 || uCInvoice.CbUser.SelectedIndex == -1 || string.IsNullOrEmpty(uCInvoice.TxtDateFrom.Text) || string.IsNullOrEmpty(uCInvoice.TxtDateTo.Text))
            {
                MessageBox.Show("Ukoliko želite da pretražite porudžbine, morate popuniti sva polja za pretragu");
                return;
            }

            if (!DateTime.TryParseExact(uCInvoice.TxtDateFrom.Text, "dd.MM.yyyy.", CultureInfo.InvariantCulture, DateTimeStyles.None, out _))
            {
                MessageBox.Show("'Datum od', koji je unet, nije u odgovarajućem formatu! Datume unesite u formatu:dd.MM.yyyy.!");
                return;
            }


            if (!DateTime.TryParseExact(uCInvoice.TxtDateTo.Text, "dd.MM.yyyy.", CultureInfo.InvariantCulture, DateTimeStyles.None, out _))
            {
                MessageBox.Show("'Datum do', koji je unet, nije u odgovarajućem formatu! Datume unesite u formatu:dd.MM.yyyy.!");
                return;
            }


            Order order = new Order();

            order.Table    = (Table)uCInvoice.CbTable.SelectedItem;
            order.User     = (User)uCInvoice.CbUser.SelectedItem;
            order.DateFrom = DateTime.ParseExact(uCInvoice.TxtDateFrom.Text, "dd.MM.yyyy.", CultureInfo.InvariantCulture);
            order.DateTo   = DateTime.ParseExact(uCInvoice.TxtDateTo.Text, "dd.MM.yyyy.", CultureInfo.InvariantCulture);
            List <Order> orders = Communication.Communication.Instance.SearchOrders(order);

            uCInvoice.DgvOrders.DataSource = orders;
        }
Exemple #3
0
        internal void Pay(UCInvoice uCInvoice)
        {
            if (!UserControlHelpers.EmptyFieldValidationCB(uCInvoice.CbPayment))
            {
                MessageBox.Show("Odaberite način plaćanja");
                return;
            }

            if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Gotovina))
            {
                uCInvoice.TxtCache.Text = uCInvoice.TxtTotalToPay.Text;

                uCInvoice.TxtCard.Text             = string.Empty;
                uCInvoice.TxtCardNumber.Text       = string.Empty;
                uCInvoice.CbCardType.SelectedIndex = -1;

                uCInvoice.TxtCache.Enabled      = false;
                uCInvoice.TxtCard.Enabled       = false;
                uCInvoice.CbCardType.Enabled    = false;
                uCInvoice.TxtCardNumber.Enabled = false;
            }

            if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Kartica))
            {
                uCInvoice.TxtCard.Text = uCInvoice.TxtTotalToPay.Text;

                uCInvoice.TxtCache.Text            = string.Empty;
                uCInvoice.TxtCardNumber.Text       = string.Empty;
                uCInvoice.CbCardType.SelectedIndex = -1;

                uCInvoice.TxtCache.Enabled         = false;
                uCInvoice.TxtCard.Enabled          = false;
                uCInvoice.CbCardType.Enabled       = true;
                uCInvoice.CbCardType.DataSource    = Enum.GetValues(typeof(CardType));
                uCInvoice.CbCardType.SelectedIndex = -1;
                uCInvoice.CbCardType.DropDownStyle = ComboBoxStyle.DropDownList;
                uCInvoice.TxtCardNumber.Enabled    = true;
            }

            if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Kombinovano))
            {
                uCInvoice.TxtCache.Text            = string.Empty;
                uCInvoice.TxtCard.Text             = string.Empty;
                uCInvoice.TxtCardNumber.Text       = string.Empty;
                uCInvoice.CbCardType.SelectedIndex = -1;

                uCInvoice.TxtCache.Enabled         = true;
                uCInvoice.TxtCard.Enabled          = true;
                uCInvoice.CbCardType.Enabled       = true;
                uCInvoice.CbCardType.DataSource    = Enum.GetValues(typeof(CardType));
                uCInvoice.CbCardType.SelectedIndex = -1;
                uCInvoice.CbCardType.DropDownStyle = ComboBoxStyle.DropDownList;
                uCInvoice.TxtCardNumber.Enabled    = true;
            }

            uCInvoice.BtnSave.Enabled = true;
        }
Exemple #4
0
        internal void PaymentChanged(UCInvoice uCInvoice)
        {
            uCInvoice.BtnSave.Enabled = false;

            uCInvoice.TxtCache.Text            = string.Empty;
            uCInvoice.TxtCache.Enabled         = false;
            uCInvoice.TxtCard.Text             = string.Empty;
            uCInvoice.TxtCard.Enabled          = false;
            uCInvoice.CbCardType.SelectedIndex = -1;
            uCInvoice.CbCardType.Enabled       = false;
            uCInvoice.TxtCardNumber.Text       = string.Empty;
            uCInvoice.TxtCardNumber.Enabled    = false;
        }
Exemple #5
0
        internal void InitUCInvoice(UCInvoice uCInvoice)
        {
            List <Order> orders = Communication.Communication.Instance.GetAllOrders();

            uCInvoice.DgvOrders.DataSource = orders;

            uCInvoice.DgvOrders.Columns["OrderId"].Visible            = false;
            uCInvoice.DgvOrders.Columns["DateTime"].HeaderText        = "Datum";
            uCInvoice.DgvOrders.Columns["Table"].HeaderText           = "Sto";
            uCInvoice.DgvOrders.Columns["TotalWithoutVAT"].HeaderText = "Cena";
            uCInvoice.DgvOrders.Columns["TotalWithVAT"].HeaderText    = "Cena(PDV)";
            uCInvoice.DgvOrders.Columns["Currency"].HeaderText        = "Valuta";
            uCInvoice.DgvOrders.Columns["User"].HeaderText            = "Radnik";
            uCInvoice.DgvOrders.Columns["State"].HeaderText           = "Status";
            uCInvoice.DgvOrders.Columns["DateFrom"].Visible           = false;
            uCInvoice.DgvOrders.Columns["DateTo"].Visible             = false;

            uCInvoice.CbTable.DataSource    = Communication.Communication.Instance.GetAllTables();
            uCInvoice.CbTable.DropDownStyle = ComboBoxStyle.DropDownList;
            uCInvoice.CbTable.SelectedIndex = -1;
            uCInvoice.CbUser.DataSource     = Communication.Communication.Instance.GetALLUsers();
            uCInvoice.CbUser.DropDownStyle  = ComboBoxStyle.DropDownList;
            uCInvoice.CbUser.SelectedIndex  = -1;
        }
Exemple #6
0
        internal void RemoveFilters_3(UCInvoice uCInvoice)
        {
            List <Order> orders = Communication.Communication.Instance.GetAllOrders();

            uCInvoice.DgvOrders.DataSource = null;
            uCInvoice.DgvOrders.DataSource = orders;

            uCInvoice.DgvOrders.Columns["OrderId"].Visible            = false;
            uCInvoice.DgvOrders.Columns["DateTime"].HeaderText        = "Datum";
            uCInvoice.DgvOrders.Columns["Table"].HeaderText           = "Sto";
            uCInvoice.DgvOrders.Columns["TotalWithoutVAT"].HeaderText = "Cena";
            uCInvoice.DgvOrders.Columns["TotalWithVAT"].HeaderText    = "Cena(PDV)";
            uCInvoice.DgvOrders.Columns["Currency"].HeaderText        = "Valuta";
            uCInvoice.DgvOrders.Columns["User"].HeaderText            = "Radnik";
            uCInvoice.DgvOrders.Columns["State"].HeaderText           = "Status";
            uCInvoice.DgvOrders.Columns["DateFrom"].Visible           = false;
            uCInvoice.DgvOrders.Columns["DateTo"].Visible             = false;

            uCInvoice.CbTable.SelectedIndex = -1;
            uCInvoice.CbUser.SelectedIndex  = -1;
            uCInvoice.TxtDateFrom.Text      = string.Empty;
            uCInvoice.TxtDateTo.Text        = string.Empty;
            uCInvoice.DgvItems.DataSource   = null;
        }
Exemple #7
0
        internal void SaveInvoice(UCInvoice uCInvoice)
        {
            if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Kartica) || uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Kombinovano))
            {
                if (!UserControlHelpers.EmptyFieldValidationCB(uCInvoice.CbCardType) | !UserControlHelpers.EmptyFieldValidation(uCInvoice.TxtCardNumber))
                {
                    MessageBox.Show("Neophodno je uneti 'tip kartice' i broj kartice'");
                    return;
                }
                if (!UserControlHelpers.CheckLongIntType(uCInvoice.TxtCardNumber))
                {
                    MessageBox.Show("Broj kartice nije ispravano unet.");
                    return;
                }
            }

            double totalToPay = int.Parse(uCInvoice.TxtTotalToPay.Text);
            double card;
            double cache;

            if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Kombinovano))
            {
                if (string.IsNullOrEmpty(uCInvoice.TxtCache.Text) | string.IsNullOrEmpty(uCInvoice.TxtCard.Text))
                {
                    MessageBox.Show("Neophodno je popuniti polja: 'Iznos koji se plaća gotovinom', 'Iznos koji se plaća karticom'");
                    return;
                }

                if (!UserControlHelpers.CheckDoubleType(uCInvoice.TxtCache) | !UserControlHelpers.CheckDoubleType(uCInvoice.TxtCard))
                {
                    MessageBox.Show("Neispravan unos iznosa za plaćanje. Unete vrednosti moraju biti brojevi.");
                    return;
                }

                cache = double.Parse(uCInvoice.TxtCache.Text);
                card  = double.Parse(uCInvoice.TxtCard.Text);

                if ((card + cache) != totalToPay)
                {
                    MessageBox.Show($"Neispravan unos iznosa za plaćanje. Ukupan iznos za plaćanje iznosi {totalToPay}.");
                    return;
                }
            }

            Cache cache1 = null;
            Card  card1  = null;

            DateTime dateTime = DateTime.Now;

            uCInvoice.TxtDate.Text = dateTime.ToString("dd/MM/yyyy HH:mm:ss");

            Table table = new Table
            {
                TableNumber = int.Parse(uCInvoice.TxtTable.Text)
            };

            try
            {
                if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Gotovina))
                {
                    cache = totalToPay;

                    cache1 = new Cache
                    {
                        OrderId      = order.OrderId,
                        TotalInCache = cache
                    };
                }

                if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Kartica))
                {
                    card = totalToPay;

                    card1 = new Card
                    {
                        OrderId     = order.OrderId,
                        CardType    = (CardType)uCInvoice.CbCardType.SelectedItem,
                        CardNumber  = long.Parse(uCInvoice.TxtCardNumber.Text),
                        TotalByCard = card
                    };
                }

                if (uCInvoice.CbPayment.SelectedItem.Equals(PaymentType.Kombinovano))
                {
                    card  = double.Parse(uCInvoice.TxtCard.Text);
                    cache = double.Parse(uCInvoice.TxtCache.Text);

                    card1 = new Card
                    {
                        OrderId     = order.OrderId,
                        CardType    = (CardType)uCInvoice.CbCardType.SelectedItem,
                        CardNumber  = long.Parse(uCInvoice.TxtCardNumber.Text),
                        TotalByCard = card
                    };

                    cache1 = new Cache
                    {
                        OrderId      = order.OrderId,
                        TotalInCache = cache
                    };
                }

                Payment payment = new Payment
                {
                    OrderId     = order.OrderId,
                    Total       = totalToPay,
                    Currency    = currency,
                    PaymentType = (PaymentType)uCInvoice.CbPayment.SelectedItem,
                    Cache       = cache1,
                    Card        = card1
                };

                Invoice invoice = new Invoice
                {
                    DateTime        = dateTime,
                    User            = MainCoordinator.Instance.User,
                    Table           = table,
                    Currency        = currency,
                    TotalWithoutVAT = double.Parse(uCInvoice.TxtTotal.Text),
                    TotalWithVAT    = double.Parse(uCInvoice.TxtTotalVAT.Text),
                    TotalToPay      = double.Parse(uCInvoice.TxtTotalToPay.Text),
                    InvoiceItems    = invoiceItems,
                    OrderId         = order.OrderId,
                    Payment         = payment
                };

                Communication.Communication.Instance.SaveInvoice(invoice);

                order.State = "Placeno";
                Communication.Communication.Instance.UpdateOrder(order);

                MessageBox.Show("Sistem je zapamtio račun!");
                uCInvoice.Visible = false;
            }
            catch (Exception)
            {
                MessageBox.Show("Sistem ne može da zapamti račun!");
            }
        }
Exemple #8
0
        internal void CreateInvoice(UCInvoice uCInvoice)
        {
            if (uCInvoice.DgvOrders.SelectedRows.Count > 0)
            {
                invoiceItems = new List <InvoiceItem>();

                DataGridViewRow row = uCInvoice.DgvOrders.SelectedRows[0];
                order = (Order)row.DataBoundItem;

                if (order.State == "Placeno")
                {
                    MessageBox.Show("Za ovu porudžbinu je već kreiran račun!");
                    return;
                }

                try
                {
                    currency = order.Currency;

                    uCInvoice.TxtTable.Text    = order.Table.ToString();
                    uCInvoice.TxtTotal.Text    = order.TotalWithoutVAT.ToString();
                    uCInvoice.TxtTotalVAT.Text = order.TotalWithVAT.ToString();
                    uCInvoice.TxtCurrency.Text = order.Currency.ToString();

                    uCInvoice.BtnCancel.Enabled = true;
                    uCInvoice.BtnPay.Enabled    = true;

                    DateTime dateTime = DateTime.Now;
                    uCInvoice.TxtDate.Text = dateTime.ToString("dd/MM/yyyy HH:mm:ss");

                    User user = MainCoordinator.Instance.User;
                    uCInvoice.TxtUser.Text = user.ToString();

                    double totalToPay = Math.Ceiling(order.TotalWithVAT);
                    uCInvoice.TxtTotalToPay.Text = totalToPay.ToString();

                    uCInvoice.CbPayment.Enabled       = true;
                    uCInvoice.CbPayment.DataSource    = Enum.GetValues(typeof(PaymentType));
                    uCInvoice.CbPayment.DropDownStyle = ComboBoxStyle.DropDownList;
                    uCInvoice.CbPayment.SelectedIndex = -1;

                    OrderItem orderItem = new OrderItem();
                    orderItem.OrderId = order.OrderId;

                    orderItems       = new BindingList <OrderItem>(Communication.Communication.Instance.GetOrderItems(orderItem));
                    order.OrderItems = orderItems.ToList();

                    foreach (OrderItem oi in orderItems)
                    {
                        InvoiceItem ii = new InvoiceItem
                        {
                            OrderId         = oi.OrderId,
                            Number          = oi.Number,
                            Product         = oi.Product,
                            PriceWithoutVAT = oi.PriceWithoutVAT,
                            PriceWithVAT    = oi.PriceWithVAT,
                            Pieces          = oi.Pieces,
                            TotalWithoutVAT = oi.TotalWithoutVAT,
                            TotalWithVAT    = oi.TotalWithVAT,
                            Currency        = oi.Currency
                        };

                        invoiceItems.Add(ii);
                    }

                    uCInvoice.DgvItems.DataSource = invoiceItems;

                    uCInvoice.DgvItems.Columns["InvoiceId"].Visible          = false;
                    uCInvoice.DgvItems.Columns["OrderId"].Visible            = false;
                    uCInvoice.DgvItems.Columns["Number"].HeaderText          = "RB";
                    uCInvoice.DgvItems.Columns["Product"].HeaderText         = "Proizvod";
                    uCInvoice.DgvItems.Columns["Pieces"].HeaderText          = "Komada";
                    uCInvoice.DgvItems.Columns["PriceWithoutVAT"].HeaderText = "Cena";
                    uCInvoice.DgvItems.Columns["PriceWithVAT"].HeaderText    = "Cena(PDV)";
                    uCInvoice.DgvItems.Columns["Currency"].HeaderText        = "Valuta";
                    uCInvoice.DgvItems.Columns["TotalWithoutVAT"].HeaderText = "Ukupno";
                    uCInvoice.DgvItems.Columns["TotalWithVAT"].HeaderText    = "Ukupno(PDV)";

                    MessageBox.Show("Sistem je kreirao račun");
                }
                catch (Exception)
                {
                    MessageBox.Show("Sistem ne može da kreira račun");
                }
            }
            else
            {
                MessageBox.Show("Nije odabrana porudžbina za kreiranje računa!");
            }
        }