private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { var sku = new DataModel.SKU(); if (e.AddedItems.Count > 0) sku = e.AddedItems[0] as DataModel.SKU ?? sku; ((ViewModels.SKUs)this.DataContext).CurrentSKU = sku.Copy(); }
public void SaveCurrentSKU() { DataModel.SKU match = SKUHandlerInstance.SKUList.FirstOrDefault(sku => sku.Code == CurrentSKU.Code); // The user is (visually) updating based on SKU code, not database id. CurrentSKU.Id = match != null ? match.Id : null; CurrentSKU.Save(); SKUHandlerInstance.SKUList = new ObservableCollection <DataModel.SKU>(DataModel.SKU.LoadAll()); }
public void RemoveFromCurrentSKUCollection(DataModel.SKU sku) { var newSKUCollection = CurrentSKUCollection.Copy(); int matchIndex = newSKUCollection.SKUs.FindIndex(s => s.Id == sku.Id); newSKUCollection.SKUs.RemoveAt(newSKUCollection.SKUs.FindIndex(s => s.Id == sku.Id)); CurrentSKUCollection = newSKUCollection; }
public void RemoveSKU(DataModel.SKU sku) { sku.Delete(); SKUList.Remove(SKUList.First(s => s.Id == sku.Id)); foreach (var c in SKUCollectionList) { var match = c.SKUs.FirstOrDefault(s => s.Id == sku.Id); if (match != null) { c.SKUs.Remove(match); } } NotifyPropertyChanged(() => SKUList); NotifyPropertyChanged(() => SKUCollectionList); }
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count == 0) { return; } UpdateTextBoxSources(); var dc = (ViewModels.SKUs)DataContext; var oldSku = dc.SKUHandlerInstance.SKUList.Where(item => item.Code == dc.CurrentSKU.Code).FirstOrDefault(); bool skuExists = oldSku != null; if (!skuExists) { oldSku = new DataModel.SKU { // This prevents unsaved changes detection with two empty SKU objects. Timestamp = dc.CurrentSKU.Timestamp }; } if (!dc.CurrentSKU.Equals(oldSku)) { if (MessageBox.Show( string.Format("Sinulla on tallentamattomia muutoksia nimikkeelle koodilla: {0}.{1}{2}{3}Tallennetaanko muutokset?", dc.CurrentSKU.Code, Environment.NewLine + Environment.NewLine, skuExists ? "Muutokset ylikirjoittavat olemassa olevan nimikkeen tiedot." : "Tallennus ei ylikirjoita olemassa olevaa nimikettä, vaan kyseessä on uusi nimike.", Environment.NewLine + Environment.NewLine), "Tallentamattomia muutoksia", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) { SaveCurrentSKU(false); } } dc.CurrentSKU = (e.AddedItems[0] as DataModel.SKU)?.Copy() ?? new DataModel.SKU(); }
public void RemoveSKU(DataModel.SKU sku) { SKUHandlerInstance.RemoveSKU(sku); }
public SKUs() { CurrentSKU = new DataModel.SKU(); }