Example #1
0
        private async void button_Main_Click(object sender, EventArgs e)
        {
            if (!ButtonState)
            {
                // Check Constraints
                if (String.IsNullOrWhiteSpace(textBox_Name.Text))
                {
                    MessageBox.Show("Invalid Name!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if (comboBox_Catagory.SelectedIndex < 0)
                {
                    MessageBox.Show("Invalid Catagory!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if (String.IsNullOrWhiteSpace(richTextBox_Description.Text))
                {
                    MessageBox.Show("Invalid Description!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                foreach (extFieldStruct x in extField)
                {
                    if (String.IsNullOrWhiteSpace(x.textBox.Text))
                    {
                        {
                            MessageBox.Show("Invalid " + x.label.Text + "!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                    }
                }
                if (pictureBox_Picture.Image == null || pictureBox_Picture.Image.Equals(global::OPS.Properties.Resources.noimage))
                {
                    MessageBox.Show("Invalid Image!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }

                // Register Product
                if (!(await CProduct.Register(((CCatagory)comboBox_Catagory.SelectedItem).id,
                                              textBox_Name.Text,
                                              richTextBox_Description.Text,
                                              pictureBox_Picture.Image)))
                {
                    if (CUtils.LastLogMsg != null)
                    {
                        MessageBox.Show("Cause: " + CUtils.LastLogMsg, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        MessageBox.Show("Cause: Unknown", "Failed!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    return;
                }
                item = await CProduct.Retrieve(((CCatagory)comboBox_Catagory.SelectedItem).id,
                                               textBox_Name.Text);

                if (item == null)
                {
                    if (CUtils.LastLogMsg != null)
                    {
                        MessageBox.Show("Cause: " + CUtils.LastLogMsg, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        MessageBox.Show("Cause: Unknown", "Failed!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    return;
                }

                // Lock Product Specifications
                textBox_Name.ReadOnly            = true;
                comboBox_Catagory.Enabled        = false;
                richTextBox_Description.ReadOnly = true;
                foreach (extFieldStruct x in extField)
                {
                    x.textBox.ReadOnly = true;
                }
                button_Browse.Visible = false;

                // Change Form & Button State
                tableLayoutPanel2.Visible = true;
                button_Main.Text          = "Add To Inventory";
                ButtonState = true;
            }
            else
            {
                if (!CUtils.IsNumeric(textBox_Price.Text))
                {
                    MessageBox.Show("Invalid Price!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if (!CUtils.IsNumeric(textBox_Quantity.Text))
                {
                    MessageBox.Show("Invalid Quantity!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if (comboBox_Pincode.SelectedIndex < 0)
                {
                    MessageBox.Show("Invalid Pincode!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if (!CUtils.IsNumeric(textBox_Warranty.Text))
                {
                    MessageBox.Show("Invalid Warranty!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                Console.WriteLine("QUAT=" + Int32.Parse(textBox_Quantity.Text));
                if (!(await CSeller_Inventory.Register(CUser.cur_user.id,
                                                       item.id,
                                                       Double.Parse(textBox_Price.Text),
                                                       Int32.Parse(textBox_Quantity.Text),
                                                       ((CLocation)comboBox_Pincode.SelectedItem).pincode,
                                                       Double.Parse(textBox_Warranty.Text))))
                {
                    if (CUtils.LastLogMsg.Equals("Inventory Already Exists!"))
                    {
                        CSeller_Inventory inv = await CSeller_Inventory.Retrieve(CUser.cur_user.id, item.id);

                        if (inv != null)
                        {
                            if (!(await inv.Commit(inv.price,
                                                   inv.quantity + Int32.Parse(textBox_Quantity.Text),
                                                   inv.pincode,
                                                   inv.warranty)))
                            {
                                MessageBox.Show("Successfully Added to Inventory!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                this.Visible = false;
                                this.Dispose();
                                return;
                            }
                        }
                        MessageBox.Show("Cause: Unknown", "Failed!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    if (CUtils.LastLogMsg != null)
                    {
                        MessageBox.Show("Cause: " + CUtils.LastLogMsg, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        MessageBox.Show("Cause: Unknown", "Failed!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    return;
                }
                MessageBox.Show("Successfully Added to Inventory!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Visible = false;
                this.Dispose();
            }
        }
Example #2
0
        private async void tabControl_MAIN_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (tabControl_MAIN.SelectedTab.Text.Equals("Inventory"))
            {
                dataGridView_Inventory.Rows.Clear();
                List <CSeller_Inventory> inv_list = await CSeller_Inventory.RetrieveSellerInventoryList(CUser.cur_user.id);

                foreach (CSeller_Inventory x in inv_list)
                {
                    CProduct y = await CProduct.Retrieve(x.product_id);

                    dataGridView_Inventory.Rows.Add
                    (
                        new object[]
                    {
                        x.product_id,
                        y.name,
                        x.price,
                        x.quantity,
                        x.pincode,
                        x.warranty,
                        x,
                        y
                    }
                    );
                }
            }
            else if (tabControl_MAIN.SelectedTab.Text.Equals("Orders"))
            {
                dataGridView_Orders.Rows.Clear();
                List <COrder> order_list = await COrder.RetrieveOrdertBySellerID(CUser.cur_user.id);

                DistanceMatrixRequest req = new DistanceMatrixRequest();
                req.ApiKey = Program.szGoogleMapsAPI_key;
                req.Mode   = DistanceMatrixTravelModes.driving;
                foreach (COrder x in order_list)
                {
                    CProduct y = await CProduct.Retrieve(x.product_id);

                    CSeller_Inventory z = await CSeller_Inventory.Retrieve(x.seller_id, x.product_id);

                    CLocation c = await CLocation.Retrieve(x.pincode);

                    String address = x.street + ", " + c.city + ", " + c.state + ", " + c.country + ", " + x.pincode;

                    // Calculate ETA
                    req.Origins      = new string[] { z.pincode.ToString() };
                    req.Destinations = new string[] { x.pincode.ToString() };
                    DistanceMatrixResponse resp = await GoogleMapsApi.GoogleMaps.DistanceMatrix.QueryAsync(req);

                    TimeSpan ts = resp.Rows.ElementAt <Row>(0).Elements.ElementAt <Element>(0).Duration.Value;
                    ts = ts - (DateTime.Now - x.started_at.AddDays(1));
                    dataGridView_Orders.Rows.Add
                    (
                        new object[]
                    {
                        x.id,
                        y.name,
                        z.price,
                        x.quantity,
                        address,
                        x.started_at,
                        (ts.Days) + " Day(s) " + (ts.Hours) + " Hour(s)",
                        x.order_status,
                        x,
                        y,
                        z,
                        c
                    }
                    );
                }
            }
        }