Files

110 lines
3.5 KiB
C#

using Dapper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WindowsFormsCore.Domain;
using static WindowsFormsCore.Operations.Tools;
namespace WindowsFormsCore.Operations
{
public class DBRepo
{
public static bool SaveNumberRow(NumberRow numberRow)
{
var output = true;
using(IDbConnection cnn = new SqlConnection(GetConnectionString()))
{
numberRow.NumbersToKey();
var p = new DynamicParameters();
p.Add("@Id", numberRow.Id);
p.Add("@Number0", numberRow.Number0);
p.Add("@Number1", numberRow.Number1);
p.Add("@Number2", numberRow.Number2);
p.Add("@Number3", numberRow.Number3);
p.Add("@Number4", numberRow.Number4);
p.Add("@Number5", numberRow.Number5);
p.Add("@Number6", numberRow.Number6);
p.Add("@Number7", numberRow.Number7);
p.Add("@Created", numberRow.Created);
string sql = @"insert into dbo.NumbersTable (
Id,
Created,
Number0,
Number1,
Number2,
Number3,
Number4,
Number5,
Number6,
Number7
)
values(
@Id,
@Created,
@Number0,
@Number1,
@Number2,
@Number3,
@Number4,
@Number5,
@Number6,
@Number7
)";
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;
}
}
}
}