Example #1
0
        private int ReadData()
        {
            int      idTmp;
            DateTime orderDateTmp;
            DateTime requiredDateTmp;
            bool     error      = false;
            int      successful = 0;

            if (!int.TryParse(txtBoxOrderID.Text, out idTmp) || txtBoxOrderID.Text.Length != 8)
            {
                txtBoxOrderID.ForeColor = Color.Red;
                error = true;
            }
            if (!DateTime.TryParseExact(txtBoxOrderDate.Text, "d.M.yyyy", null, DateTimeStyles.None, out orderDateTmp))
            {
                txtBoxOrderDate.ForeColor = Color.Red;
                error = true;
            }
            if (!DateTime.TryParseExact(txtBoxDateRequired.Text, "d.M.yyyy", null, DateTimeStyles.None, out requiredDateTmp))
            {
                txtBoxDateRequired.ForeColor = Color.Red;
                error = true;
            }
            if (txtBoxShipVia.Text == "")
            {
                txtBoxShipVia.BackColor = Color.Red;
                error = true;
            }
            try
            {
                if (error)
                {
                    throw new Exception("Pogresno popunjena forma!");
                }

                String shipTmp = txtBoxShipVia.Text;
                double frgtTmp;
                if (!double.TryParse(txtBoxFreightCharges.Text, out frgtTmp))
                {
                    frgtTmp = 0;
                }
                State stTmp = Order.ConvertStringToState(comboBox1.SelectedItem.ToString());

                if (rchTxtBoxCustomer.Lines.Count() != 3)
                {
                    throw new Exception("Pogresan format podataka o kupcu");
                }

                String cstName    = rchTxtBoxCustomer.Lines[0];
                String cstAddress = rchTxtBoxCustomer.Lines[1];
                String cstCountry = rchTxtBoxCustomer.Lines[2];

                Customer cstTmp = new Customer(cstName, cstAddress, cstCountry);
                DateTime dateShipped;
                if (!DateTime.TryParseExact(txtBoxDateShipped.Text, "d.M.yyyy", null, DateTimeStyles.None, out dateShipped))
                {
                    dateShipped = DateTime.MinValue;
                }
                PackageList pckListTmp = new PackageList();
                String      itmName    = "";
                double      itmPrice   = 1;
                int         itmCount   = 1;

                // Posto datagridview ima properti da korisnik moze da dodaje redove
                // uvek ce da postoji jedan prazan red visak
                // zato ako smo u add modu petlja mora da ide do Count - 1
                // posto taj red ne postoji u edit modu ide do Count
                int max = 0;
                if (comboBox1.Visible)                  // Ukoliko je comboBox1 vidljiv znaci da smo u edit modu
                {
                    max = dgvPackageList.Rows.Count;
                }
                else
                {
                    max = dgvPackageList.Rows.Count - 1;
                }

                if (max <= 0)
                {
                    throw new Exception("Nije dodat nijedan Item u listu");
                }

                for (int i = 0; i < max; i++)
                {
                    itmName  = dgvPackageList.Rows[i].Cells[0].Value.ToString();
                    itmPrice = double.Parse(dgvPackageList.Rows[i].Cells[1].Value.ToString());
                    itmCount = int.Parse(dgvPackageList.Rows[i].Cells[2].Value.ToString());
                    pckListTmp.AddPackage(new Package(itmName, itmPrice, itmCount));
                }

                PrimaryForm.orderTmp = new Order(idTmp, orderDateTmp, requiredDateTmp, stTmp, cstTmp, pckListTmp, shipTmp, frgtTmp, dateShipped);
            }
            catch (Exception exc)
            {
                DialogResult dr = MessageBox.Show(exc.Message, "Greska pri izvrsenju", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
                if (dr == DialogResult.Cancel)
                {
                    successful = 1;
                }
                else
                {
                    successful = 2;
                }
            }
            return(successful);
        }