//making job object.............
        private void makeJob()
        {
            job jb = new job();

            using (sunilGarageDBEntities db = new sunilGarageDBEntities())
            {
                try
                {
                    jb.customerNIC = comboBoxCusNIC.SelectedItem.ToString();
                    jb.jobID       = Convert.ToInt32(txtJobID_JobSheet.Text);
                    jb.description = txt_JobDescription_JobSheet.Text;
                    jb.vehicle     = MTB_VehicleID_JobSheet.Text;
                    jb.status      = state.created.ToString();
                    jb.customer    = db.customers.Where(x => x.customerNIC == comboBoxCusNIC.SelectedItem.ToString()).FirstOrDefault();
                    jb.specialNote = "";
                    jb.date        = null;
                    jb.serviceCost = 0;

                    db.jobs.Add(jb);
                    db.SaveChanges();
                    MessageBox.Show("job creater succesfully.. JobID is:" + jb.jobID);
                    fillNextJobID();

                    //clear the job sheet
                    txt_JobDescription_JobSheet.Text = null;
                    comboBoxCusNIC.Text = "";
                    MTB_VehicleID_JobSheet.Clear();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        //fill item list.... and update total item cost
        private void fillItemList()
        {
            using (sunilGarageDBEntities db = new sunilGarageDBEntities())
            {
                jobRef = db.jobs.Where(x => x.jobID == jobRef.jobID).FirstOrDefault();
                var jobItemList = jobRef.jobItems;
                List <usedItemStruct> usedList = new List <usedItemStruct>();
                int total = 0;

                foreach (jobItem x in jobItemList)
                {
                    string itemName = db.items.Where(p => p.itemID == x.itemID).FirstOrDefault().name;
                    usedList.Add(new usedItemStruct {
                        itemID = x.itemID, itemName = itemName, unitCost = Convert.ToInt32(x.unitCost), usedQuantity = Convert.ToInt32(x.usedQuantity), totalCost = Convert.ToInt32(x.totalCost)
                    });
                    total = total + Convert.ToInt32(x.totalCost);
                }
                //update total item cost for job
                jobRef.itemsCost = total;
                db.SaveChanges();

                var source = new BindingSource();
                source.DataSource      = usedList;
                dgvItemList.DataSource = usedList;
                LBL_totalCost.Text     = total.ToString();
            }
        }
        //customer registration...........................................................................................................................

        //add customer
        private void button12_Click(object sender, EventArgs e)
        {
            customer cus = new customer();

            using (sunilGarageDBEntities db = new sunilGarageDBEntities())
            {
                try
                {
                    cus.customerNIC = txtCustomerID_people.Text;
                    cus.name        = txtCustomerName_People.Text;
                    cus.mobile      = Convert.ToInt32(txtcustomerMobile_People.Text);
                    cus.address     = txtCustomerAddress_People.Text;
                    cus.email       = txtCustomerEmail_People.Text;

                    db.customers.Add(cus);
                    db.SaveChanges();
                    clearCustomerFields();
                    fillCustomerReg();
                    MessageBox.Show("customer added");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        //delete from inventory
        private void button7_Click(object sender, EventArgs e)
        {
            item inventory = new item();

            try
            {
                inventory.name     = txtItemName_Inventory.Text;
                inventory.minStock = Convert.ToInt32(txtMinQuantity_Inventory.Text);
                inventory.price    = Convert.ToInt32(txtUnitPrice_Inventory.Text);
                inventory.stock    = Convert.ToInt32(txtAvalableQuantity_Inventory.Text);
                inventory.itemID   = Convert.ToInt32(txtItemID_Inventory.Text);

                if (MessageBox.Show("are you sure you want to delete this item?", "delete inventory item", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    using (sunilGarageDBEntities db = new sunilGarageDBEntities())
                    {
                        db.Entry(inventory).State = EntityState.Modified;
                        var entry = db.Entry(inventory);
                        if (entry.State == EntityState.Detached)
                        {
                            db.items.Attach(inventory);
                        }
                        db.items.Remove(inventory);
                        db.SaveChanges();
                        fillInventory();
                        clearInventoryField();
                    }
                    MessageBox.Show("inventory item deleted");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        //update inventory
        private void button8_Click(object sender, EventArgs e)
        {
            item inventory = new item();

            try
            {
                inventory.name     = txtItemName_Inventory.Text;
                inventory.minStock = Convert.ToInt32(txtMinQuantity_Inventory.Text);
                inventory.price    = Convert.ToInt32(txtUnitPrice_Inventory.Text);
                inventory.stock    = Convert.ToInt32(txtAvalableQuantity_Inventory.Text);
                inventory.itemID   = Convert.ToInt32(txtItemID_Inventory.Text);

                using (sunilGarageDBEntities db = new sunilGarageDBEntities())
                {
                    db.Entry(inventory).State = EntityState.Modified;
                    db.SaveChanges();
                    fillInventory();
                    clearInventoryField();
                }
                MessageBox.Show("inventory item updated");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 //complete the job from garage
 private void button7_Click(object sender, EventArgs e)
 {
     using (sunilGarageDBEntities db = new sunilGarageDBEntities())
     {
         jobRef                 = db.jobs.Where(x => x.jobID == jobRef.jobID).FirstOrDefault();
         jobRef.specialNote     = txtSpecialNote.Text;
         jobRef.status          = state.workDone.ToString();
         db.Entry(jobRef).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         updateTextFields();
     }
 }
        //add item to list
        private void button4_Click(object sender, EventArgs e)
        {
            //split selected sentence to words by space
            var    spitedWords      = selectedString.Split(' ');
            int    selectedItemID   = Convert.ToInt32(spitedWords.ElementAt(0));
            string selectedItemName = spitedWords.ElementAt(2);

            jobItem JItemRecord   = new jobItem();
            item    inventoryItem = new item();


            using (sunilGarageDBEntities db = new sunilGarageDBEntities())
            {
                try
                {
                    //filter out the inventory object according to comboBox selection
                    inventoryItem = db.items.Where(x => x.itemID == selectedItemID).FirstOrDefault();

                    //set jobItem object for submit to job
                    JItemRecord.jobID = jobRef.jobID;
                    int uq = Convert.ToInt32(txtUsedQuantity.Text);
                    JItemRecord.usedQuantity = uq;

                    //check requested quantity are avalable
                    if (uq > inventoryItem.stock)
                    {
                        throw new Exception("the added quantity is not avalable");
                    }
                    JItemRecord.itemID    = inventoryItem.itemID;
                    JItemRecord.unitCost  = inventoryItem.price;
                    JItemRecord.totalCost = JItemRecord.unitCost * JItemRecord.usedQuantity;

                    //add item to job
                    jobRef = db.jobs.Where(x => x.jobID == jobRef.jobID).FirstOrDefault();
                    jobRef.jobItems.Add(JItemRecord);
                    db.Entry(jobRef).State = System.Data.Entity.EntityState.Modified;

                    //reduce the quantity from inventory
                    item updatedItem = db.items.Where(x => x.itemID == selectedItemID).FirstOrDefault();
                    updatedItem.stock = updatedItem.stock - uq;
                    //db.Entry(updatedItem).State = System.Data.Entity.EntityState.Modified;


                    db.SaveChanges();
                    fillItemList();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
Exemple #8
0
 //click complete job
 private void bunifuThinButton22_Click(object sender, EventArgs e)
 {
     jobRef.date        = Date.Value;
     jobRef.description = txtDescription.Text;
     jobRef.specialNote = txtSpecialNote.Text;
     jobRef.serviceCost = Convert.ToInt32(numServiceCost.Value);
     jobRef.status      = state.complete.ToString();
     using (sunilGarageDBEntities db = new sunilGarageDBEntities())
     {
         db.Entry(jobRef).State = EntityState.Modified;
         db.SaveChanges();
     }
     MessageBox.Show("job completed successfully");
     fillTextFields();
 }
        // user registration details.........................................................................................................................................
        //user add button
        private void bunifuThinButton27_Click(object sender, EventArgs e)
        {
            using (sunilGarageDBEntities db = new sunilGarageDBEntities())
            {
                string name     = txtUserName.Text;
                string password = txtUserPassword.Text;
                bool   admin    = radioAdmin.Checked;

                user u = new user();
                u.isAdmin  = admin;
                u.name     = name;
                u.password = password;
                db.users.Add(u);
                db.SaveChanges();
                MessageBox.Show("user added done");
                clearUserTextFields();
            }
        }
        //delete user..
        private void bunifuThinButton28_Click(object sender, EventArgs e)
        {
            user u = new user();

            try
            {
                u.ID       = Convert.ToInt32(txtUserID.Text);
                u.name     = txtUserName.Text;
                u.password = txtUserPassword.Text;
                u.isAdmin  = radioAdmin.Checked;



                if (MessageBox.Show("are you sure you want to delete this user?", "delete user", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    using (sunilGarageDBEntities db = new sunilGarageDBEntities())
                    {
                        db.Entry(u).State = EntityState.Modified;
                        var entry = db.Entry(u);
                        if (entry.State == EntityState.Detached)
                        {
                            db.users.Attach(u);
                        }
                        db.users.Remove(u);
                        db.SaveChanges();
                        fillUserTable();
                        fillNextUserID();
                        clearUserTextFields();
                    }
                    MessageBox.Show("user deleted");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void additem()//add a new inventory item
        {
            item inventory = new item();

            using (sunilGarageDBEntities db = new sunilGarageDBEntities())
            {
                try
                {
                    inventory.name     = txtItemName_Inventory.Text;
                    inventory.minStock = Convert.ToInt32(txtMinQuantity_Inventory.Text);
                    inventory.price    = Convert.ToInt32(txtUnitPrice_Inventory.Text);
                    inventory.stock    = Convert.ToInt32(txtAvalableQuantity_Inventory.Text);
                    db.items.Add(inventory);
                    db.SaveChanges();
                    MessageBox.Show("new inventory item added");
                    fillInventory();
                    clearInventoryField();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        //user edit (save)
        private void bunifuThinButton25_Click(object sender, EventArgs e)
        {
            user u = new user();

            u.ID       = Convert.ToInt32(txtUserID.Text);
            u.name     = txtUserName.Text;
            u.password = txtUserPassword.Text;
            u.isAdmin  = radioAdmin.Checked;

            using (sunilGarageDBEntities db = new sunilGarageDBEntities())
            {
                try
                {
                    db.Entry(u).State = EntityState.Modified;
                    db.SaveChanges();
                    fillUserTable();
                    clearUserTextFields();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }