eDosStation/eDosStation/User.cs
Luc Vandenbroucke e29970b7a9 test persons
2020-02-11 16:33:49 +01:00

85 lines
3.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace eDosStation
{
public class User
{
public int PersID { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public string conCode { get; set; }
public string Language { get; set; }
public bool? AccessAllow { get; set; }
public double? Margin { get; set; }
public int? VisitIDLocked { get; set; }
public string ReasonNoAccess { get; set; }
public string UserComment { get; set; }
public bool AllOk = false;
public int Error = 0;
public string ErrorMessage;
public User(string CSN, string Code)
{
LastName = FirstName = conCode = Language = string.Empty;
AccessAllow = null; ;
using (var co = new SqlConnection(Properties.Settings.Default.RemoteSQL))
{
using (var cmd = new SqlCommand("GetPersonInfo", co))
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("csn", CSN);
if (!string.IsNullOrWhiteSpace(Code)) cmd.Parameters.AddWithValue("Badge", Code);
co.Open();
try
{
var rs = cmd.ExecuteReader(System.Data.CommandBehavior.SingleRow);
if (rs.HasRows && rs.Read())
{
object[] Values = new object[rs.FieldCount];
int rv = rs.GetValues(Values);
PersID = (int)Values[rs.GetOrdinal("PersID")];
LastName = Values[rs.GetOrdinal("LastName")].ToString();
FirstName = Values[rs.GetOrdinal("FirstName")].ToString();
conCode = Values[rs.GetOrdinal("conCode")].ToString();
Language = Values[rs.GetOrdinal("Language")].ToString();
AccessAllow = Values[rs.GetOrdinal("AccessAllow")] as bool?;
Margin = Values[rs.GetOrdinal("AccessAllow")] as double?;
VisitIDLocked = Values[rs.GetOrdinal("VisitIDLocked")] as int?;
ReasonNoAccess = Values[rs.GetOrdinal("ReasonNoAccess")].ToString().Replace("\\n","\n");
UserComment = Values[rs.GetOrdinal("Comment")].ToString();
AllOk = (AccessAllow == true && VisitIDLocked == 0 );
} else
{
// Not found
PersID = 0;
LastName = "Not Found";
FirstName = "Not Found";
conCode = "A1";
Language = "N";
AccessAllow = false;
Margin = 0;
VisitIDLocked = 0;
ReasonNoAccess = "Not found";
UserComment = "";
AllOk = (AccessAllow == true & VisitIDLocked == 0);
}
rs.Close();
}
catch (System.Exception ex)
{
Error = 1;
ErrorMessage = ex.Message;
}
co.Close();
}
}
}
}
}