/// <summary> /// Delete Item /// </summary> private void DeleteItemBorrowing() { databaseEntities db = new databaseEntities(); int count = olvBorrowing.SelectedObjects.Count; if (count == 1) // If selected Item { // Find Object Borrowing borr = db.Borrowing.Find(((Borrowing)olvBorrowing.SelectedObject).ID); if (Dialogs.ShowQuest(Lng.Get("DeleteItem", "Really delete item") + " \"" + borr.Item + "\"?", Lng.Get("Delete")) == DialogResult.Yes) { db.Borrowing.Remove(borr); // Delete Item db.SaveChanges(); // Save to DB UpdateBorrowingOLV(); // Update Borrowing OLV } } else if (count > 1) // If selected Item { if (Dialogs.ShowQuest(Lng.Get("DeleteItems", "Really delete selected items") + " (" + count.ToString() + ")?", Lng.Get("Delete")) == DialogResult.Yes) { foreach (var item in olvBorrowing.SelectedObjects) // Find Object { Borrowing itm = db.Borrowing.Find(((Borrowing)item).ID); db.Borrowing.Remove(itm); // Delete Item } db.SaveChanges(); // Save to DB UpdateBorrowingOLV(); // Update Borrowing OLV } } }
/// <summary> /// Find Person in DB by Code /// </summary> /// <param name="barcode">Person Code</param> /// <returns>Person ID</returns> private Guid FindPersonByBarcode(string barcode) { long iCode = Conv.ToNumber(barcode); /*long num = -1; * foreach (var item in contList) * { * num = Conv.ToNumber(item.PersonalNum); * if (num == iCode || num == iCode / 10) * { * return item.ID; * } * }*/ // ----- Try find Person by barcode ----- databaseEntities db = new databaseEntities(); var list = db.Contacts.Where(x => x.Barcode == iCode).ToList(); if (list.Count > 0) { return(list[0].ID); } // ----- If no found -> tryfind Person by barcode without checksum ----- else { list = db.Contacts.Where(x => x.Barcode == iCode / 10).ToList(); // remove EAN checksum if (list.Count > 0) { return(list[0].ID); } } // ----- If not found -> return Empty GUID ----- return(Guid.Empty); }
/// <summary> /// Set Items textbox context /// </summary> private void SetItemsContext() { databaseEntities db = new databaseEntities(); txtItem.AutoCompleteCustomSource.Clear(); itemList = db.Copies.Where(x => !(x.Excluded ?? false) && ((x.Status ?? (short)LendStatus.Returned) == (short)LendStatus.Canceled || (x.Status ?? (short)LendStatus.Returned) == (short)LendStatus.Returned)).Select(x => new IInfo { ID = x.ID, ItemID = x.ItemID ?? Guid.Empty, InventoryNumber = x.InventoryNumber.Trim(), ItemType = x.ItemType.Trim(), Barcode = x.Barcode ?? 0 }).ToList(); for (int j = 0; j < selItemList.Count; j++) { for (int i = itemList.Count - 1; i >= 0; i--) { if (itemList[i].ID == selItemList[j].ID) { itemList.RemoveAt(i); break; } } } for (int i = 0; i < itemList.Count; i++) { itemList[i].Name = global.GetLendingItemName(itemList[i].ItemType.ToString(), itemList[i].ItemID); txtItem.AutoCompleteCustomSource.Add(itemList[i].Name + " #" + i.ToString()); } }
/// <summary> /// Process data after timeout /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TimeOut_Tick(object sender, EventArgs e) { databaseEntities db = new databaseEntities(); TimeOut.Enabled = false; // ----- Fill Person by Barcode ----- if (txtPerson.Focused) { Guid ID = FindPersonByBarcode(Barcode); if (ID != Guid.Empty) { Contacts person = db.Contacts.Find(ID); txtPerson.Text = person.Name.Trim() + " " + person.Surname.Trim(); lblPersonNum.Text = Lng.Get("PersonNum", "Person number") + ": " + person.PersonCode.Trim(); PersonGuid = person.ID; txtItem.Focus(); } else { Dialogs.ShowWar(Lng.Get("NoPersonNumber", "This ID have no person!"), Lng.Get("Warning")); } } // ----- Fill Inventory number ----- else if (txtItem.Focused) { txtItem.Text += "; " + Barcode; AddItem(); } Barcode = ""; }
/// <summary> /// Delete Item /// </summary> private void DeleteItemContacts() { databaseEntities db = new databaseEntities(); int count = olvContacts.SelectedObjects.Count; if (count == 1) // If selected Item { // Find Object Contacts contact = db.Contacts.Find(((Contacts)olvContacts.SelectedObject).ID); if (Dialogs.ShowQuest(Lng.Get("DeleteItem", "Really delete item") + " \"" + contact.Name.Trim() + " " + contact.Surname.Trim() + "\"?", Lng.Get("Delete")) == DialogResult.Yes) { db.Contacts.Remove(contact); // Delete Item db.SaveChanges(); // Save to DB UpdateConOLV(); // Update Contacts OLV } } else if (count > 1) // If selected Item { if (Dialogs.ShowQuest(Lng.Get("DeleteItems", "Really delete selected items") + " (" + count.ToString() + ")?", Lng.Get("Delete")) == DialogResult.Yes) { foreach (var item in olvContacts.SelectedObjects) // Find Object { Contacts contact = db.Contacts.Find(((Contacts)item).ID); db.Contacts.Remove(contact); // Delete Item } db.SaveChanges(); // Save to DB UpdateConOLV(); // Update Contacts OLV } } }
/// <summary> /// Delete Item /// </summary> private void DeleteItemLending() { databaseEntities db = new databaseEntities(); int count = olvLending.SelectedObjects.Count; if (count == 1) // If selected Item { // Find Object Lending borr = db.Lending.Find(((Lending)olvLending.SelectedObject).ID); if (Dialogs.ShowQuest(Lng.Get("DeleteItem", "Really delete item") + " \"" + global.GetLendingItemName(borr.CopyType.Trim(), borr.CopyID ?? Guid.Empty) + "\"?", Lng.Get("Delete")) == DialogResult.Yes) { db.Lending.Remove(borr); // Delete Item db.SaveChanges(); // Save to DB UpdateLendingOLV(); // Update Lending OLV UpdateAllItemsOLV(); } } else if (count > 1) // If selected Item { if (Dialogs.ShowQuest(Lng.Get("DeleteItems", "Really delete selected items") + " (" + count.ToString() + ")?", Lng.Get("Delete")) == DialogResult.Yes) { foreach (var item in olvLending.SelectedObjects) // Find Object { Lending itm = db.Lending.Find(((Lending)item).ID); db.Lending.Remove(itm); // Delete Item } db.SaveChanges(); // Save to DB UpdateLendingOLV(); // Update Lending OLV UpdateAllItemsOLV(); } } }
/// <summary> /// Button Ok /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOk_Click(object sender, EventArgs e) { // ----- Find selected person in DB ----- FindPerson(); // ----- Check if record valid ----- if (PersonGuid == Guid.Empty) { Dialogs.ShowWar(Lng.Get("NoSelPerson", "Not selected person!"), Lng.Get("Warning")); return; } if (selItemList.Count == 0) { Dialogs.ShowWar(Lng.Get("NoSelItem", "Not selected item!"), Lng.Get("Warning")); return; } databaseEntities db = new databaseEntities(); Lending borr; // ----- Delete old data ----- if (ID.Count > 0) { foreach (var itm in ID) { borr = db.Lending.Find(itm); db.Lending.Remove(borr); } db.SaveChanges(); } // ----- Create new ----- foreach (var itm in selItemList) { borr = new Lending(); borr.ID = Guid.NewGuid(); FillLend(ref borr, itm); db.Lending.Add(borr); } // ----- Save to DB ----- db.SaveChanges(); // ----- Refresh Copy Status ----- global.RefreshCopiesStatus(selItemList, (short)cbStatus.SelectedIndex); // ----- Refresh Available Items in Items Tables ----- RefreshAvailableItems(selItemList); // ----- Close Barcode reader connection ----- com.Close(); this.DialogResult = DialogResult.OK; }
/// <summary> /// Find other Borrowings to fill Item list /// </summary> /// <param name="ID">Main ID</param> /// <returns>Borrowings list</returns> private List <Guid> FindOtherBorrowings(Guid ID) { databaseEntities db = new databaseEntities(); List <Guid> list = new List <Guid>(); list = db.Borrowing.Where(x => x.PersonID == ID && (x.Status == (short)LendStatus.Reserved || x.Status == (short)LendStatus.Lended)).Select(x => x.ID).ToList(); return(list); }
/// <summary> /// Process data after timeout /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TimeOut_Tick(object sender, EventArgs e) { databaseEntities db = new databaseEntities(); TimeOut.Enabled = false; if (txtInvNum.Focused) { txtInvNum.Text = Barcode.Replace("\r", "").Replace("\n,", ""); } Barcode = ""; }
private void btnOk_Click(object sender, EventArgs e) { FindPerson(); FindItem(); if (PersonGuid == Guid.Empty) { Dialogs.ShowWar(Lng.Get("NoSelPerson", "Not selected person!"), Lng.Get("Warning")); return; } if (ItemGuid == Guid.Empty) { Dialogs.ShowWar(Lng.Get("NoSelItem", "Not selected item!"), Lng.Get("Warning")); return; } if (Conv.ToIntDef(cbItemNum.Text, 0) == 0) { Dialogs.ShowWar(Lng.Get("NoSelItemNum", "Not selected item number!"), Lng.Get("Warning")); return; } databaseEntities db = new databaseEntities(); Borrowing borr; // ----- ID ----- if (ID != Guid.Empty) { borr = db.Borrowing.Find(ID); } else { borr = new Borrowing(); borr.ID = Guid.NewGuid(); } FillBorr(ref borr); if (ID == Guid.Empty) { db.Borrowing.Add(borr); } db.SaveChanges(); RefreshAvailableItems(); this.DialogResult = DialogResult.OK; }
/// <summary> /// Set Fast Tags /// </summary> /// <param name="tag">Tags Mask</param> private void SetTagItemBoard(short tag) { if (olvBoard.SelectedObjects != null) // If selected Item { databaseEntities db = new databaseEntities(); foreach (var item in olvBoard.SelectedObjects) // Find Object { Boardgames itm = db.Boardgames.Find(((Boardgames)item).ID); itm.FastTags |= tag; } db.SaveChanges(); // Save to DB UpdateBoardOLV(); // Update Contacts OLV } }
/// <summary> /// Set Fast Tags /// </summary> /// <param name="tag">Tags Mask</param> private void SetTagItemContacts(short tag) { if (olvContacts.SelectedObjects != null) // If selected Item { databaseEntities db = new databaseEntities(); foreach (var item in olvContacts.SelectedObjects) // Find Object { Contacts contact = db.Contacts.Find(((Contacts)item).ID); contact.FastTags |= tag; } db.SaveChanges(); // Save to DB UpdateConOLV(); // Update Contacts OLV } }
/// <summary> /// Set active (excluded) /// </summary> /// <param name="active"></param> private void SetActiveContacts(bool active) { if (olvContacts.SelectedObjects != null) // If selected Item { databaseEntities db = new databaseEntities(); foreach (var item in olvContacts.SelectedObjects) // Find Object { Contacts itm = db.Contacts.Find(((Contacts)item).ID); itm.Active = active; } db.SaveChanges(); // Save to DB UpdateConOLV(); // Update Contacts OLV } }
/// <summary> /// Set Fast Tags /// </summary> /// <param name="tag">Tags Mask</param> private void SetTagItemCopies(short tag) { if (olvRecipes.SelectedObjects != null) // If selected Item { databaseEntities db = new databaseEntities(); foreach (var item in olvRecipes.SelectedObjects) // Find Object { Recipes itm = db.Recipes.Find(((Recipes)item).ID); itm.FastTags |= tag; } db.SaveChanges(); // Save to DB UpdateRecOLV(); // Update Contacts OLV } }
/// <summary> /// Set Fast Tags /// </summary> /// <param name="tag">Tags Mask</param> private void SetTagItemLending(short tag) { if (olvLending.SelectedObjects != null) // If selected Item { databaseEntities db = new databaseEntities(); foreach (var item in olvLending.SelectedObjects) // Find Object { Lending itm = db.Lending.Find(((Lending)item).ID); itm.FastTags |= tag; } db.SaveChanges(); // Save to DB UpdateLendingOLV(); // Update Contacts OLV } }
/// <summary> /// Find other Borrowings to fill Item list /// </summary> /// <param name="ID">Main ID</param> /// <returns>Borrowings list</returns> private List <Guid> FindOtherBorrowings(Guid ID) { databaseEntities db = new databaseEntities(); List <Guid> list = new List <Guid>(); Borrowing borr = db.Borrowing.Find(ID); if (borr != null) { list = db.Borrowing.Where(x => x.PersonID == borr.PersonID && x.Status == borr.Status && x.From == borr.From && x.To == borr.To).Select(x => x.ID).ToList(); } return(list); }
/// <summary> /// Set active (excluded) /// </summary> /// <param name="active"></param> private void SetActiveBoard(bool active) { if (olvBoard.SelectedObjects != null) // If selected Item { databaseEntities db = new databaseEntities(); foreach (var item in olvBoard.SelectedObjects) // Find Object { Boardgames itm = db.Boardgames.Find(((Boardgames)item).ID); itm.Excluded = !active; } db.SaveChanges(); // Save to DB UpdateBoardOLV(); // Update Contacts OLV } }
/// <summary> /// Textbox Person Change /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void txtPerson_TextChanged(object sender, EventArgs e) { databaseEntities db = new databaseEntities(); PersonGuid = Guid.Empty; FindPerson(); if (PersonGuid != Guid.Empty) { Contacts person = db.Contacts.Find(PersonGuid); lblPersonNum.Text = Lng.Get("PersonNum", "Person number") + ": " + person.PersonCode.Trim(); } else { lblPersonNum.Text = Lng.Get("PersonNum", "Person number") + ": -"; } }
/// <summary> /// Delete Item /// </summary> private void DeleteItemBoard() { databaseEntities db = new databaseEntities(); int count = olvBoard.SelectedObjects.Count; if (count == 1) // If selected Item { // Find Object Boardgames itm = db.Boardgames.Find(((Boardgames)olvBoard.SelectedObject).ID); if (Dialogs.ShowQuest(Lng.Get("DeleteItem", "Really delete item") + " \"" + itm.Name.Trim() + "\"?", Lng.Get("Delete")) == DialogResult.Yes) { db.Boardgames.Remove(itm); // Delete Item // ----- Remove copies ----- var copies = db.Copies.Where(x => (x.ItemType.Trim() == ItemTypes.boardgame.ToString()) && (x.ItemID == ((Boardgames)olvBoard.SelectedObject).ID)).ToList(); foreach (var copy in copies) { db.Copies.Remove(copy); // Remove copy } db.SaveChanges(); // Save to DB UpdateBoardOLV(); // Update Items OLV UpdateCopOLV(); // Update Copies OLV } } else if (count > 1) // If selected Item { if (Dialogs.ShowQuest(Lng.Get("DeleteItems", "Really delete selected items") + " (" + count.ToString() + ")?", Lng.Get("Delete")) == DialogResult.Yes) { foreach (var item in olvBoard.SelectedObjects) // Find Object { Boardgames itm = db.Boardgames.Find(((Boardgames)item).ID); db.Boardgames.Remove(itm); // Delete Item // ----- Remove copies ----- var copies = db.Copies.Where(x => (x.ItemType.Trim() == ItemTypes.boardgame.ToString()) && (x.ItemID == ((Boardgames)item).ID)).ToList(); foreach (var copy in copies) { db.Copies.Remove(copy); // Remove copy } } db.SaveChanges(); // Save to DB UpdateBoardOLV(); // Update Items OLV UpdateCopOLV(); // Update Copies OLV } } }
private void ImportObjects(string fileName) { List <Objects> con; if (Path.GetExtension(fileName) == "csv") { con = global.ImportObjectsCSV(fileName); } else { con = global.ImportObjectsXML(fileName); } if (con == null) { Dialogs.ShowErr(Lng.Get("ParseFileError", "Parse file error") + ".", Lng.Get("Error")); return; } databaseEntities db = new databaseEntities(); foreach (var item in con) { Objects itm; // ----- ID ----- if (item.ID != Guid.Empty) { itm = db.Objects.Find(item.ID); if (itm != null) { Conv.CopyClassPropetries(itm, item); } else { db.Objects.Add(item); } } else { item.ID = Guid.NewGuid(); db.Objects.Add(item); } } db.SaveChanges(); UpdateObjOLV(); Dialogs.ShowInfo(Lng.Get("SuccesfullyImport", "Import was succesfully done") + ".", Lng.Get("Import")); }
/// <summary> /// Create Contact list for autocomplete function /// </summary> private void SetContactsContext() { databaseEntities db = new databaseEntities(); AutoCompleteStringCollection auto = new AutoCompleteStringCollection(); contList = db.Contacts.Where(x => x.Active ?? true).Select(x => new CInfo { ID = x.ID, Name = x.Name.Trim(), Surname = x.Surname.Trim(), PersonalNum = x.PersonCode.Trim() }).ToList(); for (int i = 0; i < contList.Count; i++) { auto.Add(contList[i].Name + " " + contList[i].Surname + " #" + i.ToString()); auto.Add(contList[i].Surname + " " + contList[i].Name + " #" + i.ToString()); //txtPerson.AutoCompleteCustomSource.Add(contList[i].Name + " " + contList[i].Surname + " #" + i.ToString()); //txtPerson.AutoCompleteCustomSource.Add(contList[i].Surname + " " + contList[i].Name + " #" + i.ToString()); } txtPerson.AutoCompleteCustomSource = auto; }
/// <summary> /// Item Changed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void txtItem_TextChanged(object sender, EventArgs e) { databaseEntities db = new databaseEntities(); ItemGuid = Guid.Empty; FindItem(); if (ItemGuid != Guid.Empty) { var copy = db.Copies.Find(ItemGuid); lblInvNum.Text = Lng.Get("InventoryNumber", "Inventory number") + ": " + copy.InventoryNumber; } else { lblInvNum.Text = Lng.Get("InventoryNumber", "Inventory number") + ": -"; } LastItemGuid = ItemGuid; }
/// <summary> /// Process data after timeout /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TimeOut_Tick(object sender, EventArgs e) { databaseEntities db = new databaseEntities(); TimeOut.Enabled = false; // ----- Fill Person by Barcode ----- if (txtPerson.Focused) { Guid ID = FindPersonByCode(Barcode); if (ID != Guid.Empty) { Contacts person = db.Contacts.Find(ID); txtPerson.Text = person.Name.Trim() + " " + person.Surname.Trim(); lblPersonNum.Text = Lng.Get("PersonNum", "Person number") + ": " + person.PersonCode.Trim(); PersonGuid = person.ID; txtItem.Focus(); } else { Dialogs.ShowWar(Lng.Get("NoPersonNumber", "This ID have no person!"), Lng.Get("Warning")); } } // ----- Fill Inventory number ----- else if (txtItem.Focused) { Guid ID = FindItemByCode(Barcode); if (ID != Guid.Empty) { var copy = db.Copies.Find(ID); ItemGuid = ID; txtItem.Text = global.GetLendingItemName(copy.ItemType, copy.ItemID ?? Guid.Empty); lblInvNum.Text = Lng.Get("InventoryNumber", "Inventory number") + ": " + copy.InventoryNumber; AddItem(); } else { Dialogs.ShowWar(Lng.Get("NoItemNumber", "This ID have no item!"), Lng.Get("Warning")); } } Barcode = ""; }
/// <summary> /// Button add person /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddPerson_Click(object sender, EventArgs e) { databaseEntities db = new databaseEntities(); // ----- Create new Contact ----- Guid ID; frmEditContacts form = new frmEditContacts(); form.ShowDialog(out ID); // ----- Select this Contact ----- Contacts person = db.Contacts.Find(ID); if (person != null) { txtPerson.Text = person.Name.Trim() + " " + person.Surname.Trim(); PersonGuid = ID; lblPersonNum.Text = Lng.Get("PersonNum", "Person number") + ": " + person.PersonCode.Trim(); } }
/// <summary> /// Refresh Available Items /// </summary> /// <param name="list"></param> private void RefreshAvailableItems() { databaseEntities db = new databaseEntities(); foreach (var itm in lendList) { var copy = db.Copies.Find(itm.CopyID); if (copy != null) { var borr = db.Copies.Where(p => (p.ItemID == copy.ItemID) && p.ItemType.Contains(copy.ItemType.ToString()) && ((p.Status ?? 1) == (short)LendStatus.Reserved || (p.Status ?? 1) == (short)LendStatus.Lended)).Select(c => c.ID).ToList(); if (global.GetItemType(copy.ItemType) == ItemTypes.item) { Items item = db.Items.Find(copy.ItemID); if (item != null) { item.Available = (short)((item.Count ?? 1) - borr.Count); } } else if (global.GetItemType(copy.ItemType) == ItemTypes.book) { Books book = db.Books.Find(copy.ItemID); if (book != null) { book.Available = (short)((book.Count ?? 1) - borr.Count); } } else if (global.GetItemType(copy.ItemType) == ItemTypes.boardgame) { Boardgames board = db.Boardgames.Find(copy.ItemID); if (board != null) { board.Available = (short)((board.Count ?? 1) - borr.Count); } } } } db.SaveChanges(); }
private void btnAdd_Click(object sender, EventArgs e) { // ----- Objects ----- if (objectForm) { frmAddObject form = new frmAddObject(); Guid ID = Guid.Empty; form.ShowDialog(ref ID); if (ID != Guid.Empty) { databaseEntities db = new databaseEntities(); // Database var obj = db.Objects.Find(ID); if (obj != null) { ObjectList.Add(obj); } FileText = global.GetTextFromObjects(ObjectList); UpdateOLVObject(); } } // ----- Files ----- else { string text = ""; frmEditFile form = new frmEditFile(); form.ShowDialog(ref text, RelativePath); if (text != "") { if (FileText != "") { FileText += ";"; } FileText += text; FileList = global.GetFInfoList(FileText); UpdateOLV(); } } }
private void ImportContacts(string fileName) { List <Contacts> con = global.ImportContactsCSV(fileName); if (con == null) { Dialogs.ShowErr(Lng.Get("ParseFileError", "Parse file error") + ".", Lng.Get("Error")); return; } databaseEntities db = new databaseEntities(); foreach (var item in con) { Contacts contact; // ----- ID ----- if (item.ID != Guid.Empty) { contact = db.Contacts.Find(item.ID); if (contact != null) { Conv.CopyClassPropetries(contact, item); } else { db.Contacts.Add(item); } } else { item.ID = Guid.NewGuid(); db.Contacts.Add(item); } } db.SaveChanges(); UpdateConOLV(); Dialogs.ShowInfo(Lng.Get("SuccesfullyImport", "Import was succesfully done") + ".", Lng.Get("Import")); }
/// <summary> /// Add Item to list /// </summary> private void AddItem() { databaseEntities db = new databaseEntities(); // ----- Find selected Item ----- FindItem(); if (ItemGuid == Guid.Empty) { Dialogs.ShowWar(Lng.Get("NoSelItem", "Not selected item!"), Lng.Get("Warning")); return; } // ----- Add selected item to list ----- var newItem = db.Copies.Find(ItemGuid); selItemList.Add(newItem); UpdateOLV(); // ----- Refresh Items TextBox ----- SetItemsContext(); txtItem.Text = ""; }
/// <summary> /// Process data after timeout /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TimeOut_Tick(object sender, EventArgs e) { databaseEntities db = new databaseEntities(); TimeOut.Enabled = false; // ----- Inventory Number ----- if (txtInvNum.Focused) { txtInvNum.Text = Barcode.Replace("\r", "").Replace("\n,", ""); } // ----- ISBN ----- else { txtISBN.Text = Barcode.Replace("\r", "").Replace("\n,", ""); // ----- Get data from web ----- GetDataFromWeb(); if (Properties.Settings.Default.BookUseISBN) { txtInvNum.Text = Barcode.Replace("\r", "").Replace("\n,", ""); } } Barcode = ""; }
/// <summary> /// Update Items ObjectListView /// </summary> void UpdateBoardOLV() { databaseEntities db = new databaseEntities(); List <Boardgames> itm; if (chbShowExcludedBoard.Checked) { itm = db.Boardgames.ToList(); } else { itm = db.Boardgames.Where(p => !(p.Excluded ?? false)).ToList(); } bgTags.Renderer = new ImageRenderer(); bgTags.AspectGetter = delegate(object x) { List <int> ret = new List <int>(); FastFlags flag = (FastFlags)((Boardgames)x).FastTags; if (flag.HasFlag(FastFlags.FLAG1)) { ret.Add(0); } if (flag.HasFlag(FastFlags.FLAG2)) { ret.Add(1); } if (flag.HasFlag(FastFlags.FLAG3)) { ret.Add(2); } if (flag.HasFlag(FastFlags.FLAG4)) { ret.Add(3); } if (flag.HasFlag(FastFlags.FLAG5)) { ret.Add(4); } if (flag.HasFlag(FastFlags.FLAG6)) { ret.Add(5); } return(ret); }; bgTagsNum.AspectGetter = delegate(object x) { string res = ""; FastFlags flag = (FastFlags)((Boardgames)x).FastTags; if (flag.HasFlag(FastFlags.FLAG1)) { res += "1"; } if (flag.HasFlag(FastFlags.FLAG2)) { res += "2"; } if (flag.HasFlag(FastFlags.FLAG3)) { res += "3"; } if (flag.HasFlag(FastFlags.FLAG4)) { res += "4"; } if (flag.HasFlag(FastFlags.FLAG5)) { res += "5"; } if (flag.HasFlag(FastFlags.FLAG6)) { res += "6"; } return(res); }; bgName.AspectGetter = delegate(object x) { return(((Boardgames)x).Name.Trim()); }; bgCategory.AspectGetter = delegate(object x) { return(((Boardgames)x).Category.Trim()); }; bgInvNum.AspectGetter = delegate(object x) { return(global.GetInvNumList(((Boardgames)x).ID)); }; bgLocation.AspectGetter = delegate(object x) { return(global.GetLocationList(((Boardgames)x).ID)); }; bgKeywords.AspectGetter = delegate(object x) { return(((Boardgames)x).Keywords.Trim()); }; bgCounts.AspectGetter = delegate(object x) { return(((Boardgames)x).Count.ToString()); }; bgAvailable.AspectGetter = delegate(object x) { /*var borr = db.Lending.Where(p => p.ItemID == ((Items)x).Id && p.ItemType.Contains("item") && !(p.Returned ?? false)).ToList(); * int count = ((Items)x).Count ?? 1 - borr.Count;*/ return(((Boardgames)x).Available ?? (((Boardgames)x).Count ?? 1)); }; bgExcluded.Renderer = new ImageRenderer(); bgExcluded.AspectGetter = delegate(object x) { if (((Boardgames)x).Excluded ?? false) { return(7); } else { return(6); } }; olvBoard.SetObjects(itm); }