Skip to content

Commit 0f22d5a

Browse files
committed
fix some bugs and update a function
1 parent dcc8121 commit 0f22d5a

File tree

7 files changed

+1157
-1150
lines changed

7 files changed

+1157
-1150
lines changed

Controller/ProblemInputController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,6 @@ public Problem GetAProblemByNumber(string number)
6262
return GetAllProblems().FirstOrDefault(r => r.Number == number);
6363
}
6464

65+
6566
}
6667
}

Lib/SysHelper.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,10 @@ public static string ReadFile(string path, string name)
3636
{
3737
return File.ReadAllText(Path.Combine(path, name), Encoding.ASCII);
3838
}
39+
40+
public static void WriteFile(string content,string path, string name)
41+
{
42+
File.WriteAllText(Path.Combine(path, name), content);
43+
}
3944
}
4045
}

View/MasterForm.Designer.cs

Lines changed: 64 additions & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

View/MasterForm.cs

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)