/// <summary> /// DisableUserRegistration method implementation /// </summary> public override Registration DisableUserRegistration(Registration reg) { if (!SQLUtils.HasRegistration(_host, reg.UPN)) { throw new Exception("The user " + reg.UPN + " cannot be updated ! \r User not found !"); } string request = "UPDATE REGISTRATIONS SET ENABLED=0 WHERE UPN=@UPN"; SqlConnection con = new SqlConnection(_connectionstring); SqlCommand sql = new SqlCommand(request, con); SqlParameter prm5 = new SqlParameter("@UPN", SqlDbType.VarChar); sql.Parameters.Add(prm5); prm5.Value = reg.UPN; con.Open(); try { int res = sql.ExecuteNonQuery(); } catch (Exception ex) { DataLog.WriteEntry(ex.Message, System.Diagnostics.EventLogEntryType.Error, 5000); throw new Exception(ex.Message); } finally { con.Close(); } reg.Enabled = false; return(reg); }
/// <summary> /// DeleteUserRegistration method implementation /// </summary> public override bool DeleteUserRegistration(Registration reg, bool dropkey = true) { if (!SQLUtils.HasRegistration(_host, reg.UPN)) { throw new Exception("The user " + reg.UPN + " cannot be deleted ! \r User not found !"); } if (dropkey) { this.OnKeyDataEvent(reg.UPN, KeysDataManagerEventKind.Remove); } string request = "DELETE FROM REGISTRATIONS WHERE UPN=@UPN"; SqlConnection con = new SqlConnection(_connectionstring); SqlCommand sql = new SqlCommand(request, con); SqlParameter prm = new SqlParameter("@UPN", SqlDbType.VarChar); sql.Parameters.Add(prm); prm.Value = reg.UPN; con.Open(); try { int res = sql.ExecuteNonQuery(); } catch (Exception ex) { DataLog.WriteEntry(ex.Message, System.Diagnostics.EventLogEntryType.Error, 5000); throw new Exception(ex.Message); } finally { con.Close(); } string request2 = "DELETE FROM NOTIFICATIONS WHERE REGISTRATIONID=@REGISTRATIONID"; SqlCommand sql2 = new SqlCommand(request2, con); SqlParameter prm2 = new SqlParameter("@REGISTRATIONID", SqlDbType.BigInt); sql2.Parameters.Add(prm2); prm2.Value = reg.ID; con.Open(); try { int res = sql2.ExecuteNonQuery(); } catch (Exception ex) { DataLog.WriteEntry(ex.Message, System.Diagnostics.EventLogEntryType.Error, 5000); throw new Exception(ex.Message); } finally { con.Close(); } return(true); }
/// <summary> /// NewUserKey method implmentation /// </summary> public override string NewUserKey(string upn, string secretkey, string cert = null) { if (SQLUtils.HasRegistration(_host, upn.ToLower())) { return(DoUpdateUserKey(upn.ToLower(), secretkey)); } else { return(DoInsertUserKey(upn.ToLower(), secretkey)); } }
/// <summary> /// HasRegistration method implementation /// </summary> public override bool HasRegistration(string upn) { return(SQLUtils.HasRegistration(_host, 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, PIN, ENABLED, METHOD, OVERRIDE) VALUES (@UPN, @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 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); 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); prm7.Value = reg.OverrideMethod; 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)); }
/// <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, 256); 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, 50); 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)); }