//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); } } }
//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 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(); } } }
//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(); } } }
//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; } }