refactoring, uppd db in and out

This commit is contained in:
2020-12-16 07:28:17 +01:00
parent 79e0fc47f1
commit 2fbc1d8e26
2 changed files with 121 additions and 30 deletions

View File

@ -13,8 +13,9 @@ namespace WindowsFormsCore.Operations
{ {
public class DBRepo public class DBRepo
{ {
public static void SaveNumberRow(NumberRow numberRow) public static bool SaveNumberRow(NumberRow numberRow)
{ {
var output = true;
using(IDbConnection cnn = new SqlConnection(GetConnectionString())) using(IDbConnection cnn = new SqlConnection(GetConnectionString()))
{ {
numberRow.NumbersToKey(); numberRow.NumbersToKey();
@ -54,10 +55,55 @@ namespace WindowsFormsCore.Operations
@Number7 @Number7
)"; )";
cnn.Execute(sql, p); try
{
cnn.Execute(sql, p);
}
catch (SqlException ex)
{
if (ex.Number == 2627)
{
output = false;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return output;
} }
} }
public static NumberRow ReadNumberRow(string numberId)
{
using (IDbConnection cnn = new SqlConnection(GetConnectionString()))
{
var p = new DynamicParameters();
p.Add("@Id", numberId);
string sql = @"select * from dbo.NumbersTable where Id = @Id";
var row = cnn.Query<NumberRow>(sql,p).FirstOrDefault();
row.NumbersToKey();
return row;
}
}
public static IEnumerable<NumberRow> ReadAllNumberRow()
{
using (IDbConnection cnn = new SqlConnection(GetConnectionString()))
{
string sql = @"select * from dbo.NumbersTable ";
var rows = cnn.Query<NumberRow>(sql);
//rows.ToList().ForEach(x => x.KeyToNumbers());
return rows;
}
}
} }
} }

View File

@ -72,6 +72,8 @@ namespace WindowsFormsCore
txtBGrp1[i] = (TextBox)this.Controls["txtNr" + (i + 1).ToString()]; txtBGrp1[i] = (TextBox)this.Controls["txtNr" + (i + 1).ToString()];
txtBGrp2[i] = (TextBox)this.Controls["txtNr2" + (i + 1).ToString()]; txtBGrp2[i] = (TextBox)this.Controls["txtNr2" + (i + 1).ToString()];
} }
RefreshListView();
LoadListFromDB();
} }
private void btnGenerate_Click(object sender, EventArgs e) private void btnGenerate_Click(object sender, EventArgs e)
@ -86,6 +88,14 @@ namespace WindowsFormsCore
} }
private void ClearInFields(TextBox[] zz)
{
foreach(var tx in zz)
{
tx.Text = "";
}
}
private string randomNum() private string randomNum()
{ {
return Enum.GetName(typeof(LNum), rnd.Next((int)LNum.x1, (int)LNum.x35)); return Enum.GetName(typeof(LNum), rnd.Next((int)LNum.x1, (int)LNum.x35));
@ -120,8 +130,9 @@ namespace WindowsFormsCore
private void btnTest_Click(object sender, EventArgs e) private void btnTest_Click(object sender, EventArgs e)
{ {
var tstIn = decimal.Parse(txtTestIn.Text); LoadListFromDB();
txtTestOut.Text = $"number for angle {tstIn} = {lotto.GetNumberByAngle(tstIn)}"; //var tstIn = decimal.Parse(txtTestIn.Text);
//txtTestOut.Text = $"number for angle {tstIn} = {lotto.GetNumberByAngle(tstIn)}";
} }
private void chk_CheckedChanged(object sender, EventArgs e) private void chk_CheckedChanged(object sender, EventArgs e)
@ -208,42 +219,74 @@ namespace WindowsFormsCore
} }
private void AddNumbersToList1() private void AddNumbersToList(TextBox[] txtBox)
{ {
var colWidth = lvRows.Width / 7; RefreshListView();
for (int i = 0; i < lvRows.Columns.Count; i++) if (txtBox.Any(tx => tx.Text.Length == 0))
{
lvRows.Columns[i].Width = colWidth;
}
lvRows.Refresh();
if (txtBGrp1.Any(tx => tx.Text.Length == 0))
{ {
return; return;
} }
ListViewItem lvRow = new ListViewItem(txtBGrp1[0].Text); if (SaveGeneratedRow(txtBox))
for (int i = 1; i < txtBGrp1.Length; i++)
{ {
lvRow.SubItems.Add(txtBGrp1[i].Text); AddOneRowToListView(txtBox);
}
else
{
MessageBox.Show("Rad existerar redan", "Saving Lottorow", MessageBoxButtons.OK);
}
}
private void LoadListFromDB()
{
var rows = DBRepo.ReadAllNumberRow();
if (rows.Any())
{
lvRows.Items.Clear();
}
foreach(var row in rows)
{
var txtBxArr = new [] {
row.Number0.ToString(), row.Number1.ToString(),
row.Number2.ToString(), row.Number3.ToString(),
row.Number4.ToString(), row.Number5.ToString(),
row.Number6.ToString()
};
AddOneRowToListView(txtBxArr);
} }
lvRows.Items.Add(lvRow);
SaveGeneratedRow(txtBGrp1);
} }
private void AddNumbersToList2() private void AddOneRowToListView(string[] txtBoxArr)
{ {
if (txtBGrp2.Any(tx => tx.Text.Length == 0)) ListViewItem lvRow = new ListViewItem(txtBoxArr[0]);
for (int i = 1; i < txtBoxArr.Length; i++)
{ {
return; lvRow.SubItems.Add(txtBoxArr[i]);
}
ListViewItem lvRow = new ListViewItem(txtBGrp2[0].Text);
for (int i = 1; i < txtBGrp2.Length; i++)
{
lvRow.SubItems.Add(txtBGrp2[i].Text);
} }
lvRows.Items.Add(lvRow); lvRows.Items.Add(lvRow);
SaveGeneratedRow(txtBGrp2);
} }
private void SaveGeneratedRow(TextBox[] rowTab)
private void AddOneRowToListView(TextBox[] txtBoxArr)
{
ListViewItem lvRow = new ListViewItem(txtBoxArr[0].Text);
for (int i = 1; i < txtBoxArr.Length; i++)
{
lvRow.SubItems.Add(txtBoxArr[i].Text);
}
lvRows.Items.Add(lvRow);
}
private void RefreshListView()
{
var colWidth = lvRows.Width / 7.5;
for (int i = 0; i < lvRows.Columns.Count; i++)
{
lvRows.Columns[i].Width = (int)Math.Round(colWidth);
}
lvRows.Refresh();
}
private bool SaveGeneratedRow(TextBox[] rowTab)
{ {
var row = new NumberRow(); var row = new NumberRow();
row.Number0 = byte.Parse(rowTab[0].Text); row.Number0 = byte.Parse(rowTab[0].Text);
@ -253,16 +296,18 @@ namespace WindowsFormsCore
row.Number4 = byte.Parse(rowTab[4].Text); row.Number4 = byte.Parse(rowTab[4].Text);
row.Number5 = byte.Parse(rowTab[5].Text); row.Number5 = byte.Parse(rowTab[5].Text);
row.Number6 = byte.Parse(rowTab[6].Text); row.Number6 = byte.Parse(rowTab[6].Text);
DBRepo.SaveNumberRow(row); return DBRepo.SaveNumberRow(row);
} }
private void btnDwn_Click(object sender, EventArgs e) private void btnDwn_Click(object sender, EventArgs e)
{ {
AddNumbersToList1(); AddNumbersToList(txtBGrp1);
ClearInFields(txtBGrp1);
} }
private void btnDown2_Click(object sender, EventArgs e) private void btnDown2_Click(object sender, EventArgs e)
{ {
AddNumbersToList2(); AddNumbersToList(txtBGrp2);
ClearInFields(txtBGrp2);
} }
private void btnlose_Click(object sender, EventArgs e) private void btnlose_Click(object sender, EventArgs e)