private void dataGrid1_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { if (this.dataGrid1.SelectedItem != null) { (sender as DataGrid).RowEditEnding -= dataGrid1_RowEditEnding; (sender as DataGrid).CommitEdit(); if (dataGrid1.SelectedItem.GetType() == typeof(GPU)) { gpuRepository.Update((this.dataGrid1.SelectedItem as GPU)); } if (dataGrid1.SelectedItem.GetType() == typeof(CPU)) { cpuRepository.Update((this.dataGrid1.SelectedItem as CPU)); } if (dataGrid1.SelectedItem.GetType() == typeof(InformationSupport)) { informationSupportRepository.Update((this.dataGrid1.SelectedItem as InformationSupport)); } if (dataGrid1.SelectedItem.GetType() == typeof(Monitor)) { monitorRepository.Update((this.dataGrid1.SelectedItem as Monitor)); } if (dataGrid1.SelectedItem.GetType() == typeof(Software)) { softwareRepository.Update((this.dataGrid1.SelectedItem as Software)); } if (dataGrid1.SelectedItem.GetType() == typeof(StorageDevice)) { storageRepository.Update((this.dataGrid1.SelectedItem as StorageDevice)); } (sender as DataGrid).Items.Refresh(); (sender as DataGrid).RowEditEnding += dataGrid1_RowEditEnding; } }
public ActionResult Edit(Guid id, FormCollection collection) { try { var monitor = _monitorRepository.GetById(id); monitor.Name = collection["Name"]; var enabled = collection["Enabled"]; if (enabled == "true,false") { monitor.Enabled = true; } else { monitor.Enabled = false; } var messengers = collection["Messengers"].Split(',').ToList(); monitor.Messengers.Clear(); foreach (var messenger in messengers) { var item = _messengerRepository.GetById(new Guid(messenger)); monitor.Messengers.Add(item); } _monitorRepository.Update(monitor); return(RedirectToAction("Index")); } catch (Exception e) { return(View()); } }