//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); } }
//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(); } }
//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); } } }
//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); } } }
//fill text fields private void fillTextFields() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { //job details jobRef = db.jobs.Where(x => x.jobID == jobRef.jobID).FirstOrDefault(); txtDescription.Text = jobRef.description; txtID.Text = jobRef.jobID.ToString(); numItemCost.Value = Convert.ToInt32(jobRef.itemsCost); txtSpecialNote.Text = jobRef.specialNote; txtState.Text = jobRef.status; txtVehicle.Text = jobRef.vehicle; numServiceCost.Value = Convert.ToInt32(jobRef.serviceCost); //customer details customer c = db.customers.Where(x => x.customerNIC == jobRef.customerNIC).FirstOrDefault(); lblCustomerAddress.Text = c.address; lblCustomerEmail.Text = c.email; lblCustomerMobile.Text = c.mobile.ToString(); lblCustomerName.Text = c.name; //set the state of job if (jobRef.status == state.complete.ToString()) { completed = true; } else { completed = false; } } }
//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); } }
//fill user data table private void fillUserTable() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { user[] userList = db.users.ToArray(); dgvUser.DataSource = userList; } }
//fill next user id private void fillNextUserID() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { int nextID = db.users.Max(x => x.ID) + 1; txtUserID.Text = nextID.ToString(); } }
//fill hold jobs private void fillHoldJobs() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { job[] holdJobs = db.jobs.Where(x => x.status == state.hold.ToString()).ToArray(); dgvHoldJobs.DataSource = holdJobs; } }
// delete from list private void bunifuThinButton26_Click(object sender, EventArgs e) { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { jobRef = db.jobs.Where(x => x.jobID == jobRef.jobID).FirstOrDefault(); MessageBox.Show(jobRef.itemsCost.ToString()); } }
//fill ongoing repairs................. private void fillOngoingRepairs() { bunifu_DGV_ongoingRepairs.AutoGenerateColumns = false; using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { bunifu_DGV_ongoingRepairs.DataSource = db.jobs.Where(x => x.status != state.complete.ToString()).ToList <job>(); } }
//fill create job field with new jobID private void fillNextJobID() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { int jobID = db.jobs.Max(p => p.jobID) + 1; txtJobID_JobSheet.Text = jobID.ToString(); } }
//fill new jobs data table private void fillNewJobs() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { job[] newJobs = db.jobs.Where(x => x.status == state.created.ToString()).ToArray(); dgvNewJobs.DataSource = newJobs; } }
//fill customer registration table private void fillCustomerReg() { dgvCustomerReg.AutoGenerateColumns = false; using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { dgvCustomerReg.DataSource = db.customers.ToList <customer>(); } }
//inventory................................................................................................. private void fillInventory()//fill the inventory data grid view { dgvInventory.AutoGenerateColumns = false; using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { dgvInventory.DataSource = db.items.ToList <item>(); } }
//fill ongoing job field private void fillOnGoingJobs() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { job[] onGoingJobs = db.jobs.Where(x => x.status == state.working.ToString()).ToArray(); dgvOngoingJobs.DataSource = onGoingJobs; } }
//check inventory warnings private void checkInventoryWarnings() { dgvInventoryWarnings.AutoGenerateColumns = false; using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { item[] warnings = db.items.Where(x => x.stock < x.minStock).ToArray(); dgvInventoryWarnings.DataSource = warnings; } }
//search job by vehicle button private void bunifuThinButton214_Click(object sender, EventArgs e) { string vehicleID = comboBoxJobs.SelectedItem.ToString(); using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { job j = db.jobs.Where(x => x.vehicle == vehicleID && x.status == state.complete.ToString()).FirstOrDefault(); jobHistory jh = new jobHistory(true, j); jh.Show(); } }
//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(); } }
//job sheet................................................................................................................................................................................ //fill customer NIC combo box private void fillCustomerComboBox() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { comboBoxCusNIC.Items.Clear(); customer[] cus = db.customers.ToArray(); foreach (customer x in cus) { comboBoxCusNIC.Items.Add(x.customerNIC.ToString()); } } }
//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); } } }
// customer NIC select comboBox selection changed private void comboBoxCusNIC_SelectedIndexChanged(object sender, EventArgs e) { customer cus = new customer(); using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { cus = db.customers.Where(x => x.customerNIC == comboBoxCusNIC.SelectedItem.ToString()).FirstOrDefault(); lblCustomerEmail.Text = cus.email; lblCustomerMobile.Text = cus.mobile.ToString(); lblCustomerName.Text = cus.name; lblCustomerAddress.Text = cus.address; } }
//fill text fields with selected inventory item details private void comboBoxItemName_SelectedIndexChanged(object sender, EventArgs e) { selectedString = comboBoxItemName.SelectedItem.ToString(); var spitedWords = selectedString.Split(' '); int selectedItemID = Convert.ToInt32(spitedWords.ElementAt(0)); item selectedItem = new item(); using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { txtAvalableQuantity.Text = db.items.Where(x => x.itemID == selectedItemID).FirstOrDefault().stock.ToString(); } }
//update text filds private void updateTextFields() { using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { jobRef = db.jobs.Where(x => x.jobID == jobRef.jobID).FirstOrDefault(); lblItemCost.Text = jobRef.itemsCost.ToString(); lblJobDescription.Text = jobRef.description.ToString(); lblJobID.Text = jobRef.jobID.ToString(); txtSpecialNote.Text = jobRef.specialNote.ToString(); lblStatus.Text = jobRef.status.ToString(); lblVehicleID.Text = jobRef.vehicle.ToString(); } }
//ongoing repairs double click private void bunifu_DGV_ongoingRepairs_DoubleClick(object sender, EventArgs e) { if (bunifu_DGV_ongoingRepairs.CurrentRow.Index != -1) { job jb = new job(); jb.jobID = Convert.ToInt32(bunifu_DGV_ongoingRepairs.CurrentRow.Cells["jobID"].Value); using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { jb = db.jobs.Where(x => x.jobID == jb.jobID).FirstOrDefault(); jobDetailsForAdmin jdfa = new jobDetailsForAdmin(jb); jdfa.Show(); } } }
//ongoing job click private void dgvOngoingJobs_DoubleClick(object sender, EventArgs e) { if (dgvOngoingJobs.CurrentRow.Index != -1) { job jb = new job(); jb.jobID = Convert.ToInt32(dgvOngoingJobs.CurrentRow.Cells["goingJobID"].Value); using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { jb = db.jobs.Where(x => x.jobID == jb.jobID).FirstOrDefault(); jobDetails jd = new jobDetails(jb); jd.Show(); } } }
//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(); }
//inventory double click private void dgvInventory_DoubleClick(object sender, EventArgs e) { if (dgvInventory.CurrentRow.Index != -1) { item inventory = new item(); inventory.itemID = Convert.ToInt32(dgvInventory.CurrentRow.Cells["itemID"].Value); using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { inventory = db.items.Where(x => x.itemID == inventory.itemID).FirstOrDefault(); txtAvalableQuantity_Inventory.Text = inventory.stock.ToString(); txtItemName_Inventory.Text = inventory.name; txtMinQuantity_Inventory.Text = inventory.minStock.ToString(); txtUnitPrice_Inventory.Text = inventory.price.ToString(); txtItemID_Inventory.Text = inventory.itemID.ToString(); } } }
//fill job item list private void setItemList(job j) { jobItem[] jobItemList = j.jobItems.ToArray(); List <usedItemStruct> usedList = new List <usedItemStruct>(); using (sunilGarageDBEntities db = new sunilGarageDBEntities()) { 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) }); } dgvItemList.DataSource = usedList; } }
// 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(); } }