private void Button_Click(object sender, RoutedEventArgs e) { DamagedGood Selected = ((DamagedGood)damagedGrid.SelectedItem); if (Selected != null) { if (!Selected.IsRepaired) { Selected.IsRepaired = true; Item replaced = _context.Items.FirstOrDefault(i => i.Id == Selected.ItemId); replaced.Quantity += Selected.Quantity; _context.Entry(replaced).State = System.Data.Entity.EntityState.Modified; _context.Entry(Selected).State = System.Data.Entity.EntityState.Modified; _context.SaveChanges(); } } }
private void ReturnBtn_Click(object sender, RoutedEventArgs e) { var OneIte = RetQuantity.SelectedItem; Rental OneRent = ((Rental)OneIte); Item OneItem = OneRent.Item; int RequestedQuantity = Convert.ToInt32(OneRent.Quantity); if (OneItem != null) { int Quantity = OneItem.RentedQuantity; Quantity -= RequestedQuantity; if (Quantity >= 0) { OneItem.RentedQuantity = Quantity; OneRent.ReturnDate = DateTime.Now.Date; _context.Entry(OneRent).State = System.Data.Entity.EntityState.Modified; _context.SaveChanges(); OneRent.Returned = true; TimeSpan timespan = OneRent.ReturnDate - OneRent.RentedDate; double daysRented = timespan.TotalDays; double RentMoney = 0; if (daysRented == 0) { RentMoney = (daysRented) * OneItem.DailyPayment; if (Damaged.IsChecked.GetValueOrDefault()) { damageFee = 0; int type = DamageType.SelectedIndex; if (type == 0) { damageFee = OneItem.SmallDamageFee; DamagedGood damagedGood = new DamagedGood(); damagedGood.ItemId = OneItem.Id; damagedGood.RepairType = "Slight damage"; damagedGood.Quantity = RequestedQuantity; damagedGood.Description = Description.Text.ToString(); _context.DamagedGoods.Add(damagedGood); _context.SaveChanges(); } else if (type == 1) { damageFee = OneItem.DamageFee; DamagedGood damagedGood = new DamagedGood(); damagedGood.ItemId = OneItem.Id; damagedGood.RepairType = "Moderate damage"; damagedGood.Quantity = RequestedQuantity; damagedGood.Description = Description.Text.ToString(); _context.DamagedGoods.Add(damagedGood); _context.SaveChanges(); } else if (type == 2) { DamagedGood damagedGood = new DamagedGood(); damagedGood.ItemId = OneItem.Id; damagedGood.RepairType = "strong damage"; OneItem.Quantity -= RequestedQuantity; damagedGood.Quantity = RequestedQuantity; damagedGood.IsRepaired = false; damagedGood.Description = Description.Text.ToString(); _context.DamagedGoods.Add(damagedGood); _context.SaveChanges(); _context.Entry(OneItem).State = System.Data.Entity.EntityState.Modified; _context.SaveChanges(); } RentMoney += damageFee; } } else { RentMoney = 0; } _context.Entry(OneRent).State = System.Data.Entity.EntityState.Modified; _context.SaveChanges(); _context.Entry(OneItem).State = System.Data.Entity.EntityState.Modified; _context.SaveChanges(); SucessMessage sm = new SucessMessage(); sm.MessageText.Text = "Total Price: " + RentMoney; sm.Show(); } else { ErrorMessage er = new ErrorMessage(); er.MessageText.Text = "Quantity unavailable"; er.Show(); } } }