public RowItem CommitAddNew(RowItem rowItem) { var listItem = rowItem.Value as ListItem; if (listItem == null) { return(null); } var values = ((ListItem.NewRecordData)listItem.GetRecord()).UncommittedValues; if (values.Count == 0) { return(null); } ListItemId?listItemId = null; SkylineDataSchema.ModifyDocument(EditDescription.Message(ListRef.PROTOTYPE.ChangeName(ListName), string.Format(Resources.ListViewContext_CommitAddNew_Add_new_item_to_list___0__, ListName)), doc => { var listData = doc.Settings.DataSettings.FindList(ListName); ListItemId newItemId; listData = listData.AddRow(((ListItem.NewRecordData)listItem.GetRecord()).UncommittedValues, out newItemId); listItemId = newItemId; return(doc.ChangeSettings( doc.Settings.ChangeDataSettings(doc.Settings.DataSettings.ReplaceList(listData)))); }, AuditLogEntry.SettingsLogFunction); if (!listItemId.HasValue) { return(null); } return(new RowItem(ConstructListItem(listItemId.Value))); }
public override void Delete() { var selectedItems = GetSelectedListItems(BoundDataGridView); if (selectedItems.Count == 0) { return; } string message = string.Format(Resources.ListViewContext_Delete_Are_you_sure_you_want_to_delete_the__0__selected_items_from_the_list___1___, selectedItems.Count, ListName); if (MultiButtonMsgDlg.Show(BoundDataGridView, message, MultiButtonMsgDlg.BUTTON_OK) != DialogResult.OK) { return; } SkylineDataSchema.ModifyDocument(EditDescription.Message(ListRef.PROTOTYPE.ChangeName(ListName), string.Format(Resources.ListViewContext_Delete_Delete_from_list___0__, ListName)), doc => { var listData = doc.Settings.DataSettings.FindList(ListName); listData = listData.DeleteItems(selectedItems); return(doc.ChangeSettings( doc.Settings.ChangeDataSettings(doc.Settings.DataSettings.ReplaceList(listData)))); }, AuditLogEntry.SettingsLogFunction); }