/// <summary> /// HasRegistration method implementation /// </summary> public override bool HasRegistration(string upn) { return(SQLUtils.HasRegistration(_host, upn)); }
/// <summary> /// SetUserRegistration method implementation /// </summary> public override Registration SetUserRegistration(Registration reg, bool resetkey = false, bool caninsert = true, bool disableoninsert = false) { if (!SQLUtils.HasRegistration(_host, reg.UPN)) { if (caninsert) { return(AddUserRegistration(reg, resetkey, false)); } else { return(GetUserRegistration(reg.UPN)); } } string request; if (disableoninsert) { request = "UPDATE REGISTRATIONS SET MAILADDRESS = @MAILADDRESS, PHONENUMBER = @PHONENUMBER, PIN=@PIN, METHOD=@METHOD, OVERRIDE=@OVERRIDE, WHERE UPN=@UPN"; } else { request = "UPDATE REGISTRATIONS SET MAILADDRESS = @MAILADDRESS, PHONENUMBER = @PHONENUMBER, PIN=@PIN, METHOD=@METHOD, OVERRIDE=@OVERRIDE, ENABLED=@ENABLED WHERE UPN=@UPN"; } SqlConnection con = new SqlConnection(_connectionstring); SqlCommand sql = new SqlCommand(request, con); SqlParameter prm1 = new SqlParameter("@MAILADDRESS", SqlDbType.VarChar); sql.Parameters.Add(prm1); if (string.IsNullOrEmpty(reg.MailAddress)) { prm1.Value = DBNull.Value; } else { prm1.Value = reg.MailAddress; } SqlParameter prm2 = new SqlParameter("@PHONENUMBER", SqlDbType.VarChar); sql.Parameters.Add(prm2); if (string.IsNullOrEmpty(reg.PhoneNumber)) { prm2.Value = DBNull.Value; } else { prm2.Value = reg.PhoneNumber; } SqlParameter prm3 = new SqlParameter("@PIN", SqlDbType.Int); sql.Parameters.Add(prm3); prm3.Value = reg.PIN; SqlParameter prm4 = new SqlParameter("@METHOD", SqlDbType.Int); sql.Parameters.Add(prm4); prm4.Value = reg.PreferredMethod; SqlParameter prm5 = new SqlParameter("@OVERRIDE", SqlDbType.VarChar); sql.Parameters.Add(prm5); if (reg.OverrideMethod == null) { prm5.Value = string.Empty; } else { prm5.Value = reg.OverrideMethod; } if (!disableoninsert) { SqlParameter prm6 = new SqlParameter("@ENABLED", SqlDbType.Bit); sql.Parameters.Add(prm6); prm6.Value = reg.Enabled; } SqlParameter prm7 = new SqlParameter("@UPN", SqlDbType.VarChar); sql.Parameters.Add(prm7); prm7.Value = reg.UPN; con.Open(); try { int res = sql.ExecuteNonQuery(); if (resetkey) { this.OnKeyDataEvent(reg.UPN, KeysDataManagerEventKind.add); } } catch (Exception ex) { DataLog.WriteEntry(ex.Message, System.Diagnostics.EventLogEntryType.Error, 5000); throw new Exception(ex.Message); } finally { con.Close(); } return(GetUserRegistration(reg.UPN)); }
/// <summary> /// AddUserRegistration method implementation /// </summary> public override Registration AddUserRegistration(Registration reg, bool resetkey = true, bool canupdate = true, bool disableoninsert = false) { if (SQLUtils.HasRegistration(_host, reg.UPN)) { if (canupdate) { return(SetUserRegistration(reg, resetkey, false)); } else { return(GetUserRegistration(reg.UPN)); } } string request = "INSERT INTO REGISTRATIONS (UPN, SECRETKEY, MAILADDRESS, PHONENUMBER, PIN, ENABLED, METHOD, OVERRIDE) VALUES (@UPN, @SECRETKEY, @MAILADDRESS, @PHONENUMBER, @PIN, @ENABLED, @METHOD, @OVERRIDE)"; SqlConnection con = new SqlConnection(_connectionstring); SqlCommand sql = new SqlCommand(request, con); SqlParameter prm1 = new SqlParameter("@UPN", SqlDbType.VarChar); sql.Parameters.Add(prm1); prm1.Value = reg.UPN; SqlParameter prm1a = new SqlParameter("@SECRETKEY", SqlDbType.VarChar); sql.Parameters.Add(prm1a); prm1a.Value = Guid.NewGuid().ToString().ToUpper(); SqlParameter prm2 = new SqlParameter("@MAILADDRESS", SqlDbType.VarChar); sql.Parameters.Add(prm2); if (string.IsNullOrEmpty(reg.MailAddress)) { prm2.Value = DBNull.Value; } else { prm2.Value = reg.MailAddress; } SqlParameter prm3 = new SqlParameter("@PHONENUMBER", SqlDbType.VarChar); sql.Parameters.Add(prm3); if (string.IsNullOrEmpty(reg.PhoneNumber)) { prm3.Value = DBNull.Value; } else { prm3.Value = reg.PhoneNumber; } SqlParameter prm4 = new SqlParameter("@PIN", SqlDbType.Int); sql.Parameters.Add(prm4); prm4.Value = reg.PIN; SqlParameter prm5 = new SqlParameter("@ENABLED", SqlDbType.Bit); sql.Parameters.Add(prm5); if (disableoninsert) { prm5.Value = false; } else { prm5.Value = reg.Enabled; } SqlParameter prm6 = new SqlParameter("@METHOD", SqlDbType.Int); sql.Parameters.Add(prm6); prm6.Value = reg.PreferredMethod; SqlParameter prm7 = new SqlParameter("@OVERRIDE", SqlDbType.VarChar); sql.Parameters.Add(prm7); if (reg.OverrideMethod == null) { prm7.Value = string.Empty; } else { prm7.Value = reg.OverrideMethod; } con.Open(); try { int res = sql.ExecuteNonQuery(); if (resetkey) { this.OnKeyDataEvent(reg.UPN, KeysDataManagerEventKind.add); } } catch (Exception ex) { DataLog.WriteEntry(ex.Message, System.Diagnostics.EventLogEntryType.Error, 5000); throw new Exception(ex.Message); } finally { con.Close(); } return(GetUserRegistration(reg.UPN)); }
/// <summary> /// AddUserRegistration method implementation /// </summary> public override Registration AddUserRegistration(Registration reg, bool newkey = true) { if (SQLUtils.HasRegistration(_host, reg.UPN)) { return(SetUserRegistration(reg, newkey)); } string request = "INSERT INTO REGISTRATIONS (UPN, MAILADDRESS, PHONENUMBER, ENABLED, METHOD) VALUES (@UPN, @MAILADDRESS, @PHONENUMBER, @ENABLED, @METHOD)"; SqlConnection con = new SqlConnection(_connectionstring); SqlCommand sql = new SqlCommand(request, con); SqlParameter prm2 = new SqlParameter("@MAILADDRESS", SqlDbType.VarChar); sql.Parameters.Add(prm2); if (string.IsNullOrEmpty(reg.MailAddress)) { prm2.Value = DBNull.Value; } else { prm2.Value = reg.MailAddress; } SqlParameter prm3 = new SqlParameter("@PHONENUMBER", SqlDbType.VarChar); sql.Parameters.Add(prm3); if (string.IsNullOrEmpty(reg.PhoneNumber)) { prm3.Value = DBNull.Value; } else { prm3.Value = reg.PhoneNumber; } SqlParameter prmb = new SqlParameter("@ENABLED", SqlDbType.Bit); sql.Parameters.Add(prmb); prmb.Value = reg.Enabled; SqlParameter prm4 = new SqlParameter("@METHOD", SqlDbType.Int); sql.Parameters.Add(prm4); prm4.Value = reg.PreferredMethod; SqlParameter prm5 = new SqlParameter("@UPN", SqlDbType.VarChar); sql.Parameters.Add(prm5); prm5.Value = reg.UPN; con.Open(); try { int res = sql.ExecuteNonQuery(); if (newkey) { this.OnKeyDataEvent(reg.UPN, KeysDataManagerEventKind.add); } } catch (Exception ex) { DataLog.WriteEntry(ex.Message, System.Diagnostics.EventLogEntryType.Error, 5000); throw new Exception(ex.Message); } finally { con.Close(); } return(GetUserRegistration(reg.UPN)); }