Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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);
        }