// TODO : REFACTOR TO OPTIMIZE public virtual void RemoveItem(ObservableInfo itemInfo) { int index = ItemsCollection.IndexOf(itemInfo); if (index >= 0 && index < ItemsCount) { RemoveItemAt(index); } }
/// <summary> /// /// </summary> /// <param name="selectedItems"></param> public void PopulateItems(IList selectedItems) { if (!InPorts.Any() || !InPorts[0].Connectors.Any()) { return; } var owner = InPorts[0].Connectors[0].Start.Owner; var index = InPorts[0].Connectors[0].Start.Index; var mirrorName = owner.GetAstIdentifierForOutputIndex(index).Name; var mirror = EngineController.GetMirror(mirrorName); var data = mirror?.GetData(); if (data == null) { return; } if (data.IsCollection) { var counter = 0; foreach (var item in data.GetElements()) { var i = item.Data; var wrapper = new ListItemWrapper { Name = i.ToString(), Index = counter }; var existing = ItemsCollection.IndexOf(wrapper); if (existing != -1) { ItemsCollection[existing].IsSelected = selectedItems.Contains(wrapper); } else { ItemsCollection.Add(wrapper); } counter++; } } }
private void SetCurrent(SalesOrder current) { if (current == null) { if (CurrentItem == null) { return; } ItemsCollection.Remove(CurrentItem); return; } var index = ItemsCollection.IndexOf(current); if (index >= 0) { ItemsCollection[index] = current; } else { ItemsCollection.Add(current); } ChangeCurrentItem(current); }
public void AddNewItemTask(string itemName, string serialNumber, string itemType) { //string var = new InputBox("text").ShowDialog(); using (var db = new DataContext()) { if (SelectedItem == null) { var selectedItem = db.ItemTypes.FirstOrDefault(x => x.ItemCode == itemType).ItemTypeID; Item item = new Item(); item.ItemName = itemName; item.SerialNumber = serialNumber; item.ItemTypeID = selectedItem; item.CreationDate = DateTime.Now; if (Client != null) { item.ClientID = Client.ClientID; SelectOccupiedDateBox inputBox = new SelectOccupiedDateBox(); inputBox.ShowDialog(); Console.WriteLine(inputBox.SelectedOccupiedDate); } db.Items.Add(item); db.SaveChanges(); updateForm(); InitializeItemCollection(item.ItemID); MessageBox.Show("Dodano nowy produkt magazynowy."); } else { var selectedItem = db.ItemTypes.FirstOrDefault(x => x.ItemCode == itemType).ItemTypeID; var item = db.Items.Where(x => x.ItemID == SelectedItem.ItemID).FirstOrDefault(); item.ItemName = itemName; item.SerialNumber = serialNumber; item.ItemTypeID = selectedItem; if (Client != null) { item.ClientID = Client.ClientID; SelectOccupiedDateBox inputBox = new SelectOccupiedDateBox(); inputBox.ShowDialog(); var x = inputBox.SelectedOccupiedDate; Console.WriteLine(x); } else { item.ClientID = null; Nullable<DateTime> dt = null; item.OccupiedDate = dt; } db.SaveChanges(); ItemModel itemModel = new ItemModel(); itemModel.ItemID = item.ItemID; itemModel.ItemName = item.ItemName; itemModel.ItemType = item.ItemType.ItemCode; itemModel.SerialNumber = item.SerialNumber; itemModel.CreationDate = item.CreationDate; if(item.Client != null) itemModel.ClientName = item.Client.FullName; var index = ItemsCollection.IndexOf(SelectedItem); ItemsCollection.Remove(SelectedItem); ItemsCollection.Insert(index, itemModel); SelectedItem = null; updateForm(); MessageBox.Show($"Pomyslnie edytowano artykuł:\nID: {itemModel.ItemID}\nNazwa artykułu: {itemModel.ItemName}"); } } }