@@ -31,10 +31,10 @@ protected override void OnLoad(EventArgs e)
3131 var tags = _tagController . GetAllTags ( ) ;
3232 TreeNode root = treeViewTag . Nodes [ 0 ] ;
3333 if ( tags == null ) return ;
34- int index = 0 ;
34+ int index = 0 ;
3535 foreach ( var tag in tags )
3636 {
37- TreeNode node = new TreeNode ( tag . Name ) { Tag = tag , ImageIndex = ( index ++ ) % 5 } ;
37+ TreeNode node = new TreeNode ( tag . Name ) { Tag = tag , ImageIndex = ( index ++ ) % 5 } ;
3838 root . Nodes . Add ( node ) ;
3939 }
4040 treeViewTag . ExpandAll ( ) ;
@@ -58,7 +58,7 @@ private void newTagToolStripMenuItem_Click(object sender, EventArgs e)
5858 SysHelper . ShowMessageWarning ( "Existed tag with this name, create failure!" ) ;
5959 return ;
6060 }
61- tagdb = _tagController . SaveTagToDb ( tag ) ;
61+ tagdb = _tagController . SaveTagToDb ( tag ) ;
6262 treeViewTag . Nodes [ 0 ] . Nodes . Add ( new TreeNode ( input . InputTag ) { Tag = tagdb } ) ;
6363 treeViewTag . ExpandAll ( ) ;
6464 }
@@ -110,7 +110,7 @@ private void deleteTagToolStripMenuItem_Click(object sender, EventArgs e)
110110 }
111111 catch ( Exception ex )
112112 {
113- MessageBox . Show ( "deletion failure" + "(" + ex . Message + ")" ) ;
113+ MessageBox . Show ( "deletion failure" + "(" + ex . Message + ")" ) ;
114114 }
115115 treeViewTag . ExpandAll ( ) ;
116116 }
@@ -148,7 +148,7 @@ private void toolStripButtonDelAll_Click(object sender, EventArgs e)
148148 {
149149 this . Validate ( ) ;
150150 if ( DialogResult . No == SysHelper . ShowMessageYesOrNo ( "Are you sure to delete all problems in this grid?" ) )
151- return ;
151+ return ;
152152 IList < Problem > deletes = new List < Problem > ( ) ;
153153 foreach ( DataGridViewRow row in problemDataGridView . Rows )
154154 {
@@ -178,8 +178,8 @@ private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
178178 int rowscnt = problemDataGridView . Rows . Count ;
179179 if ( problemInput . ShowDialog ( ) == DialogResult . Cancel )
180180 {
181- if ( rowscnt - 1 >= 0 )
182- problemDataGridView . Rows . RemoveAt ( rowscnt - 2 ) ;
181+ if ( rowscnt - 1 >= 0 )
182+ problemDataGridView . Rows . RemoveAt ( rowscnt - 2 ) ;
183183 return ;
184184 }
185185 Problem newproblem = problemInput . InputProblem ;
@@ -195,19 +195,20 @@ private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
195195 foreach ( var str in tagnames ) combinestr += str + ";" ;
196196 fillrow . Cells [ 5 ] . Value = combinestr ;
197197 fillrow . Cells [ 7 ] . Value = newproblem . Tags ;
198+
198199 problemBindingNavigatorSaveItem_Click ( problemDataGridView , null ) ;
199200 }
200201
201202 //Edit
202203 private void toolStripButtonEdit_Click ( object sender , EventArgs e )
203204 {
204205 var selectrows = problemDataGridView . SelectedRows ;
205- if ( selectrows == null || selectrows . Count == 0 )
206+ if ( selectrows == null || selectrows . Count == 0 )
206207 {
207208 SysHelper . ShowMessageWarning ( "unselect any row, please select at least one row!" ) ;
208209 return ;
209210 }
210- foreach ( DataGridViewRow row in selectrows )
211+ foreach ( DataGridViewRow row in selectrows )
211212 {
212213 var frm = new ProblemInputForm ( row . DataBoundItem as Problem ) ;
213214 if ( frm . ShowDialog ( ) == DialogResult . Cancel )
@@ -235,7 +236,7 @@ private void problemDataGridView_CellContentClick(object sender, DataGridViewCel
235236 if ( e . RowIndex < 0 ) return ;
236237 System . Diagnostics . Process . Start ( problemDataGridView . Rows [ e . RowIndex ] . Cells [ e . ColumnIndex ] . Value . ToString ( ) ) ;
237238 }
238- catch ( Exception ex )
239+ catch ( Exception ex )
239240 {
240241 SysHelper . ShowMessageWarning ( ex . Message ) ;
241242 }
@@ -256,7 +257,7 @@ private void toolStripButton1_Click(object sender, EventArgs e)
256257 }
257258 problemBindingSource . DataSource = problems ;
258259 problemDataGridView . Refresh ( ) ;
259-
260+
260261 }
261262
262263 private void toolStripButton2_Click ( object sender , EventArgs e )
@@ -287,7 +288,7 @@ private void templeImportToolStripMenuItem_Click(object sender, EventArgs e)
287288 }
288289 SysHelper . ShowMessageOK ( "Import Okay!" ) ;
289290 }
290- catch ( Exception ex )
291+ catch ( Exception ex )
291292 {
292293 SysHelper . ShowMessageWarning ( ex . Message ) ;
293294 }
@@ -296,8 +297,20 @@ private void templeImportToolStripMenuItem_Click(object sender, EventArgs e)
296297
297298 private void exportTemplateToolStripMenuItem_Click ( object sender , EventArgs e )
298299 {
299-
300- }
300+ //|ID|Tags|Solution|
301+ //|--|----|--------|
302+ StringBuilder sb = new StringBuilder ( ) ;
303+ sb . Append ( "|ID|Tags|Solution|\n |--|----|--------|\n " ) ;
304+ foreach ( DataGridViewRow row in problemDataGridView . Rows )
305+ {
306+ var p = row . DataBoundItem as Problem ;
307+ if ( p == null ) continue ;
308+ sb . Append ( string . Format ( "|{0}|{1}|[{2}]({3})|\n " , p . Number . Trim ( ) , p . TagsCombine . Trim ( ) , p . Title . Trim ( ) , p . CsdnAddress . Trim ( ) ) ) ;
309+ }
310+ string filename = ( treeViewTag . SelectedNode . Tag as Tag ) != null ? ( treeViewTag . SelectedNode . Tag as Tag ) . Name : Guid . NewGuid ( ) . ToString ( ) ;
311+ SysHelper . WriteFile ( sb . ToString ( ) , Environment . CurrentDirectory , filename ) ;
312+ SysHelper . ShowMessageOK ( "Export Success!" ) ;
313+ }
301314
302315 private void dataGridView1_RowStateChanged ( object sender , DataGridViewRowStateChangedEventArgs e )
303316 {
@@ -306,18 +319,16 @@ private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateCh
306319
307320 private void bindingNavigatorDeleteItem_Click ( object sender , EventArgs e )
308321 {
309- this . Validate ( ) ;
310- _problemController . UpdateProblems ( ) ; //inlcude delete(this is the ability EF provides)
311- problemDataGridView . Refresh ( ) ;
322+
312323 }
313324
314325 private void toolStripTextBox1_TextChanged ( object sender , EventArgs e )
315326 {
316- if ( string . IsNullOrEmpty ( toolStripTextBox1 . Text ) )
327+ if ( string . IsNullOrEmpty ( toolStripTextBox1 . Text ) )
317328 {
318- if ( treeViewTag . SelectedNode . Tag != null )
329+ if ( treeViewTag . SelectedNode . Tag != null )
319330 {
320- problemBindingSource . DataSource = ( treeViewTag . SelectedNode . Tag as Tag ) . Problems . OrderBy ( r=> Convert . ToInt32 ( r . Number ) ) . ToList ( ) ;
331+ problemBindingSource . DataSource = ( treeViewTag . SelectedNode . Tag as Tag ) . Problems . OrderBy ( r => Convert . ToInt32 ( r . Number ) ) . ToList ( ) ;
321332 problemDataGridView . Refresh ( ) ;
322333 }
323334 else
@@ -336,6 +347,23 @@ private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
336347
337348 }
338349
350+ private void toolStripButton3_Click ( object sender , EventArgs e )
351+ {
352+ Validate ( ) ;
353+ var selectedrows = problemDataGridView . SelectedRows ;
354+ if ( selectedrows . Count > 0 )
355+ {
356+ if ( DialogResult . No == MessageBox . Show ( "Are you sure to delete this row?" , "LeetCodeManager" , MessageBoxButtons . YesNo ) )
357+ return ;
358+ }
359+ foreach ( DataGridViewRow row in selectedrows )
360+ {
361+ _problemController . DeleteProblem ( row . DataBoundItem as Problem ) ;
362+ }
363+ problemBindingSource . DataSource = _problemController . GetAllProblems ( ) . OrderBy ( r => Convert . ToInt32 ( r . Number ) ) . ToList ( ) ;
364+ problemDataGridView . Refresh ( ) ;
365+ }
366+
339367
340368 }
341369}
0 commit comments