public void Update(RentalItem model) { _RentalItemRepository.Update(model); }
/// <summary> /// Gets history of an item and returns a list of rental items for that item /// </summary> /// <returns>A list of rental items with information about a specified inventory item</returns> public List <RentalItem> GetItemHistorySummary(int inventoryId) { List <RentalItem> rentalItems = new List <RentalItem>(); try { var conn = DbConnection.GetConnection(); using (conn) { conn.Open(); var query = "select r.memberID, s2.`condition`, email, r.rentalID, r.rentalDateTime, r.returnDateTime, " + "r.inventoryID, category, title, status, s2.updateDateTime from rental_transaction r, " + "user, member, media, inventory_item i, status_history s2, status where userID = member.memberID and " + "member.memberID = r.memberID and r.inventoryID = i.inventoryID and i.mediaID = media.mediaID and " + "i.inventoryID = @inventoryId and s2.rentalTransactionID = r.rentalID and s2.statusID = status.statusID"; using (var cmd = new MySqlCommand(query, conn)) { cmd.Parameters.Add("@inventoryId", MySqlDbType.Int32); cmd.Parameters["@inventoryId"].Value = inventoryId; using (var reader = cmd.ExecuteReader()) { var memberIdOrdinal = reader.GetOrdinal("memberID"); var emailOrdinal = reader.GetOrdinal("email"); var rentalIdOrdinal = reader.GetOrdinal("rentalID"); var rentalDateTimeOrdinal = reader.GetOrdinal("rentalDateTime"); var returnDateTimeOrdinal = reader.GetOrdinal("returnDateTime"); var inventoryIdOrdinal = reader.GetOrdinal("inventoryID"); var categoryOrdinal = reader.GetOrdinal("category"); var titleOrdinal = reader.GetOrdinal("title"); var statusOrdinal = reader.GetOrdinal("status"); var conditionOrdinal = reader.GetOrdinal("condition"); var updateDateTimeOrdinal = reader.GetOrdinal("updateDateTime"); while (reader.Read()) { var memberID = reader.GetInt32(memberIdOrdinal); var email = reader[emailOrdinal] == DBNull.Value ? "null" : reader.GetString(emailOrdinal); var rentalID = reader.GetInt32(rentalIdOrdinal); var rentalDateTime = reader.GetDateTime(rentalDateTimeOrdinal); var returnDateTime = reader.GetDateTime(returnDateTimeOrdinal); var inventoryID = reader.GetInt32(inventoryIdOrdinal); var category = reader[categoryOrdinal] == DBNull.Value ? "null" : reader.GetString(categoryOrdinal); var title = reader[titleOrdinal] == DBNull.Value ? "null" : reader.GetString(titleOrdinal); var status = reader[statusOrdinal] == DBNull.Value ? "null" : reader.GetString(statusOrdinal); var updateDateTime = reader.GetDateTime(updateDateTimeOrdinal); var condition = reader[conditionOrdinal] == DBNull.Value ? "null" : reader.GetString(conditionOrdinal); var rentalItem = new RentalItem { MemberId = memberID, MemberEmail = email, RentalId = rentalID, RentalDate = rentalDateTime, ReturnDate = returnDateTime, InventoryId = inventoryID, Category = category, Title = title, Status = status, UpdateDateTime = updateDateTime, Condition = condition }; rentalItems.Add(rentalItem); } } } conn.Close(); } } catch (Exception ex) { throw ex; } return(rentalItems.OrderByDescending(item => item.RentalDate).ThenByDescending(item => item.UpdateDateTime).ToList()); }
public void Insert(RentalItem model) { _RentalItemRepository.Insert(model); }
public void TestGetPossibleStatusIdWithReturned() { Assert.AreEqual(4, RentalItem.GetStatusId("Returned")); }
public Decorator(RentalItem rentalItem) { _rentalItem = rentalItem; }
public void TestGetPossibleStatusIdWithShipped() { Assert.AreEqual(2, RentalItem.GetStatusId("Shipped")); }
public void TestGetPossibleStatusIdWithOrdered() { Assert.AreEqual(1, RentalItem.GetStatusId("Ordered")); }
/// <summary> /// Retrieves select borrowed items with the given status. /// </summary> /// <param name="selectedStatus"> the desired status</param> /// <returns>select borrowed items with the given status or an error if something goes wrong on the database</returns> public List <RentalItem> RetrieveSelectRentedItems(string selectedStatus) { var rentedItems = new List <RentalItem>(); try { var conn = DbConnection.GetConnection(); using (conn) { conn.Open(); var query = "select r.memberID, email, r.rentalID, r.rentalDateTime, " + "r.returnDateTime, r.inventoryID, category, title, status from rental_transaction " + "r, user, member, media, inventory_item i, status where " + "userID = member.memberID and member.memberID = r.memberID and " + "r.inventoryID = i.inventoryID and i.mediaID = media.mediaID and status.status = @selectedStatus and " + "status.statusID = (select max(s1.statusID) from status_history s1 " + "where r.rentalID = s1.rentalTransactionID " + "group by s1.rentalTransactionID);"; using (var cmd = new MySqlCommand(query, conn)) { cmd.Parameters.AddWithValue("@selectedStatus", selectedStatus); using (var reader = cmd.ExecuteReader()) { var memberIdOrdinal = reader.GetOrdinal("memberID"); var emailOrdinal = reader.GetOrdinal("email"); var rentalIdOrdinal = reader.GetOrdinal("rentalID"); var rentalDateOrdinal = reader.GetOrdinal("rentalDateTime"); var returnDateOrdinal = reader.GetOrdinal("returnDateTime"); var inventoryIdOrdinal = reader.GetOrdinal("inventoryID"); var categoryOrdinal = reader.GetOrdinal("category"); var titleOrdinal = reader.GetOrdinal("title"); var statusOrdinal = reader.GetOrdinal("status"); while (reader.Read()) { var memberId = reader.GetInt32(memberIdOrdinal); var memberEmail = reader[emailOrdinal] == DBNull.Value ? "null" : reader.GetString(emailOrdinal); var rentalId = reader.GetInt32(rentalIdOrdinal); var rentalDate = reader.GetDateTime(rentalDateOrdinal); var returnDate = reader.GetDateTime(returnDateOrdinal); var inventoryId = reader.GetInt32(inventoryIdOrdinal); var category = reader[categoryOrdinal] == DBNull.Value ? "null" : reader.GetString(categoryOrdinal); var title = reader[titleOrdinal] == DBNull.Value ? "null" : reader.GetString(titleOrdinal); var status = reader[statusOrdinal] == DBNull.Value ? "null" : reader.GetString(statusOrdinal); var item = new RentalItem { MemberId = memberId, MemberEmail = memberEmail, RentalId = rentalId, RentalDate = rentalDate, ReturnDate = returnDate, InventoryId = inventoryId, Category = category, Title = title, Status = status }; rentedItems.Add(item); } } } conn.Close(); } } catch (Exception ex) { throw ex; } return(rentedItems.OrderByDescending(item => item.RentalDate).ToList()); }
public void UnprocessInvoice() { bool Success = false; ModelTMSContainer _ControlObjectContext = new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session); // start transaction using (TransactionScope TS = new TransactionScope()) { try { // roll back order // correct invoice if there if (LabelInvoiceId.Text != "") { Invoice CorrInvoice = _ControlObjectContext.GetObjectByKey(new EntityKey("ModelTMSContainer.InvoiceSet", "Id", Guid.Parse(LabelInvoiceId.Text))) as Invoice; // unprocess CorrInvoice.UnprocessInvoice(_ControlObjectContext, CorrInvoice.GroupCode, Common.CurrentClientDateTime(Session)); } // correct rentalitemactivity status ResetRentalItemStatus(_ControlObjectContext); // remove any generated swap if (LabelNewRIAId.Text != "") { string[] IDs = LabelNewRIAId.Text.Split(';'); foreach (string IDstring in IDs) { if (IDstring.Trim() != "") { RentalItemActivity NewRia = _ControlObjectContext.GetObjectByKey(new EntityKey("ModelTMSContainer.RentalItemActivitySet", "Id", Guid.Parse(IDstring))) as RentalItemActivity; if (NewRia != null) { _ControlObjectContext.RentalItemActivitySet.DeleteObject(NewRia); } } } } // enable any disabled item if (LabelDisabledItems.Text != "") { string[] IDs = LabelDisabledItems.Text.Split(';'); foreach (string IDstring in IDs) { if (IDstring.Trim() != "") { RentalItem NewRI = _ControlObjectContext.GetObjectByKey(new EntityKey("ModelTMSContainer.RentalItemSet", "Id", Guid.Parse(IDstring))) as RentalItem; if (NewRI != null) { NewRI.ItemState = "Available"; } } } } // update the datetime from the original values in the grid. GrabUpdatedEndDateTimesForRIAs(_ControlObjectContext, true, true); // and save to persistent storage _ControlObjectContext.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave); // commit TS.Complete(); Success = true; } catch (Exception ex) { // rollback transaction TS.Dispose(); // inform user Common.InformUserOnTransactionFail(ex, Page); } } if (Success) { // when success revert PageNr--; ShowCorrectElements(); } }
protected void ButtonAddMaterial_Click(object sender, EventArgs e) { bool NotAddedYet = true; LoadOrderLines(); // create the new Ria rental type ModelTMSContainer ControlObjectContext = new ModelTMSContainer(Session["CustomerConnectString"].ToString(), Session); RentalItemActivityListItem ria = new RentalItemActivityListItem(); ria.RentalTypeId = new Guid(ComboBoxMaterialType.SelectedValue); ria.RentalType = ComboBoxMaterialType.SelectedItem.Text; ria.TreatAsAdvancePayment = CheckBoxTreatAsAdvancePayment.Checked; if (RadioButtonListSpecificOrAmount.SelectedValue == "Specific") { ria.RentalItemId = new Guid(ComboBoxMaterials.SelectedValue); ria.RentalItem = ComboBoxMaterials.SelectedItem.Text; RentalItem ri = ControlObjectContext.GetObjectByKey(new EntityKey("ModelTMSContainer.RentalItemSet", "Id", ria.RentalItemId)) as RentalItem; ria.BailPrice = ri.BailPrice; ri.CalculateRentForPeriod(StartRentDate, EndRentDate, out ria.RentPrice, out ria.Vat, out ria.TotalRentPrice); } else { try { ria.RentalItemAmount = Convert.ToInt32(TextBoxAmount.Text); } catch { } } if (ComboBoxCustomerLocation.SelectedValue != "") { ria.CustomerLocation = ComboBoxCustomerLocation.SelectedItem.Text; ria.CustomerLocationId = new Guid(ComboBoxCustomerLocation.SelectedValue); } try { ria.DiscountPercentage = Convert.ToDouble(TextBoxDiscountPercentage.Text); } catch { }; // check if this material has not been added yet foreach (RentalItemActivityListItem riali in OrderLines) { if (ria.RentalItemId != Guid.Empty) { // checking for specific material if ((ria.RentalItemId == riali.RentalItemId) && (ria.RentalTypeId == riali.RentalTypeId)) { NotAddedYet = false; break; } // checking for specific material group if ((ria.RentalTypeId == riali.RentalTypeId) && (riali.RentalItemId == Guid.Empty)) { NotAddedYet = false; break; } } else { // checking for specific material group if (ria.RentalTypeId == riali.RentalTypeId) { NotAddedYet = false; break; } } } // add the material if not added yet, otherwise inform the user if (NotAddedYet) { OrderLines.Add(ria); SaveOrderLines(); } else { Common.InformUser(Page, "U heeft dit materiaal al aan deze verhuring toegevoegd."); } }