///<summary>Updates the given key data to the database.</summary>
		public static void Update(RegistrationKey registrationKey){
			if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) {
				Meth.GetVoid(MethodBase.GetCurrentMethod(),registrationKey);
				return;
			}
			Crud.RegistrationKeyCrud.Update(registrationKey);
		}
		///<summary>Inserts a new and unique registration key into the database.</summary>
		public static long Insert(RegistrationKey registrationKey){
			if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) {
				registrationKey.RegistrationKeyNum=Meth.GetLong(MethodBase.GetCurrentMethod(),registrationKey);
				return registrationKey.RegistrationKeyNum;
			}
			do{
				if(registrationKey.IsForeign){
					Random rand=new Random();
					StringBuilder strBuild=new StringBuilder();
					for(int i=0;i<16;i++){
						int r=rand.Next(0,35);
						if(r<10){
							strBuild.Append((char)('0'+r));
						}
						else{
							strBuild.Append((char)('A'+r-10));
						}
					}
					registrationKey.RegKey=strBuild.ToString();
				}
				else{
					registrationKey.RegKey=CDT.Class1.GenerateRandKey();
				}
				if(registrationKey.RegKey==""){
					//Don't loop forever when software is unverified.
					return 0;//not sure what consequence this would have.
				}
			} 
			while(KeyIsInUse(registrationKey.RegKey));
			return Crud.RegistrationKeyCrud.Insert(registrationKey);
		}
示例#3
0
 ///<summary>Updates the given key data to the database.</summary>
 public static void Update(RegistrationKey registrationKey)
 {
     if (RemotingClient.RemotingRole == RemotingRole.ClientWeb)
     {
         Meth.GetVoid(MethodBase.GetCurrentMethod(), registrationKey);
         return;
     }
     Crud.RegistrationKeyCrud.Update(registrationKey);
 }
示例#4
0
 ///<summary></summary>
 public static bool KeyIsEnabled(RegistrationKey registrationKey)
 {
     //No need to check RemotingRole; no call to db.
     if (registrationKey.DateDisabled.Year > 1880 ||
         registrationKey.DateStarted > DateTime.Today ||
         (registrationKey.DateEnded.Year > 1880 && registrationKey.DateEnded < DateTime.Today))
     {
         return(false);
     }
     return(true);
 }
示例#5
0
        ///<summary>Throws exceptions.</summary>
        public static RegistrationKey GetByKey(string regKey)
        {
            if (RemotingClient.RemotingRole == RemotingRole.ClientWeb)
            {
                return(Meth.GetObject <RegistrationKey>(MethodBase.GetCurrentMethod(), regKey));
            }
            if (!Regex.IsMatch(regKey, @"^[A-Z0-9]{16}$"))
            {
                throw new ApplicationException("Invalid registration key format.");
            }
            string          command = "SELECT * FROM  registrationkey WHERE RegKey='" + POut.String(regKey) + "'";
            RegistrationKey key     = Crud.RegistrationKeyCrud.SelectOne(command);

            if (key == null)
            {
                throw new ApplicationException("Invalid registration key.");
            }
            return(key);
        }
示例#6
0
        public static RegistrationKey GetByKey(string regKey)
        {
            if (RemotingClient.RemotingRole == RemotingRole.ClientWeb)
            {
                return(Meth.GetObject <RegistrationKey>(MethodBase.GetCurrentMethod(), regKey));
            }
            if (!Regex.IsMatch(regKey, @"^[A-Z0-9]{16}$"))
            {
                throw new ApplicationException("Invalid registration key format.");
            }
            string    command = "SELECT * FROM  registrationkey WHERE RegKey='" + POut.String(regKey) + "'";
            DataTable table   = Db.GetTable(command);

            if (table.Rows.Count == 0)
            {
                throw new ApplicationException("Invalid registration key.");
            }
            RegistrationKey key = null;

            for (int i = 0; i < table.Rows.Count; i++)
            {
                key = new RegistrationKey();
                key.RegistrationKeyNum = PIn.Int(table.Rows[i][0].ToString());
                key.PatNum             = PIn.Int(table.Rows[i][1].ToString());
                key.RegKey             = PIn.String(table.Rows[i][2].ToString());
                key.Note         = PIn.String(table.Rows[i][3].ToString());
                key.DateStarted  = PIn.Date(table.Rows[i][4].ToString());
                key.DateDisabled = PIn.Date(table.Rows[i][5].ToString());
                key.DateEnded    = PIn.Date(table.Rows[i][6].ToString());
                key.IsForeign    = PIn.Bool(table.Rows[i][7].ToString());
                //key.UsesServerVersion     =PIn.PBool(table.Rows[i][8].ToString());
                key.IsFreeVersion    = PIn.Bool(table.Rows[i][9].ToString());
                key.IsOnlyForTesting = PIn.Bool(table.Rows[i][10].ToString());
                //key.VotesAllotted         =PIn.PInt(table.Rows[i][11].ToString());
            }
            //if(key.DateDisabled.Year>1880){
            //	throw new ApplicationException("This key has been disabled.  Please call for assistance.");
            //}
            return(key);
        }
示例#7
0
 ///<summary>Inserts a new and unique registration key into the database.</summary>
 public static long Insert(RegistrationKey registrationKey)
 {
     if (RemotingClient.RemotingRole == RemotingRole.ClientWeb)
     {
         registrationKey.RegistrationKeyNum = Meth.GetLong(MethodBase.GetCurrentMethod(), registrationKey);
         return(registrationKey.RegistrationKeyNum);
     }
     do
     {
         if (registrationKey.IsForeign)
         {
             Random        rand     = new Random();
             StringBuilder strBuild = new StringBuilder();
             for (int i = 0; i < 16; i++)
             {
                 int r = rand.Next(0, 35);
                 if (r < 10)
                 {
                     strBuild.Append((char)('0' + r));
                 }
                 else
                 {
                     strBuild.Append((char)('A' + r - 10));
                 }
             }
             registrationKey.RegKey = strBuild.ToString();
         }
         else
         {
             registrationKey.RegKey = CDT.Class1.GenerateRandKey();
         }
         if (registrationKey.RegKey == "")
         {
             //Don't loop forever when software is unverified.
             return(0);                   //not sure what consequence this would have.
         }
     }while(KeyIsInUse(registrationKey.RegKey));
     return(Crud.RegistrationKeyCrud.Insert(registrationKey));
 }
		public static RegistrationKey GetByKey(string regKey) {
			if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) {
				return Meth.GetObject<RegistrationKey>(MethodBase.GetCurrentMethod(),regKey);
			}
			if(!Regex.IsMatch(regKey,@"^[A-Z0-9]{16}$")) {
				throw new ApplicationException("Invalid registration key format.");
			}
			string command="SELECT * FROM  registrationkey WHERE RegKey='"+POut.String(regKey)+"'";
			DataTable table=Db.GetTable(command);
			if(table.Rows.Count==0) {
				throw new ApplicationException("Invalid registration key.");
			}
			RegistrationKey key=null;
			for(int i=0;i<table.Rows.Count;i++) {
				key=new RegistrationKey();
				key.RegistrationKeyNum	=PIn.Int(table.Rows[i][0].ToString());
				key.PatNum							=PIn.Int(table.Rows[i][1].ToString());
				key.RegKey							=PIn.String(table.Rows[i][2].ToString());
				key.Note								=PIn.String(table.Rows[i][3].ToString());
				key.DateStarted 				=PIn.Date(table.Rows[i][4].ToString());
				key.DateDisabled				=PIn.Date(table.Rows[i][5].ToString());
				key.DateEnded   				=PIn.Date(table.Rows[i][6].ToString());
				key.IsForeign   				=PIn.Bool(table.Rows[i][7].ToString());
				//key.UsesServerVersion  	=PIn.PBool(table.Rows[i][8].ToString());
				key.IsFreeVersion  			=PIn.Bool(table.Rows[i][9].ToString());
				key.IsOnlyForTesting  	=PIn.Bool(table.Rows[i][10].ToString());
				//key.VotesAllotted     	=PIn.PInt(table.Rows[i][11].ToString());
			}
			//if(key.DateDisabled.Year>1880){
			//	throw new ApplicationException("This key has been disabled.  Please call for assistance.");
			//}
			return key;
		}
示例#9
0
		private void butForeignKey_Click(object sender,EventArgs e) {
			RegistrationKey key=new RegistrationKey();
			key.PatNum=PatCur.PatNum;
			key.Note="";
			key.DateStarted=DateTime.Today;
			key.IsForeign=true;
			key.VotesAllotted=100;
			RegistrationKeys.Insert(key);
			FillPtInfo();
		}
示例#10
0
		private void butAddKey_Click(object sender,EventArgs e) {
			RegistrationKey key=new RegistrationKey();
			key.PatNum=PatCur.PatNum;
			//Notes are not commonly necessary, because most customers have only one office (thus only 1 key is necessary).
			//A tech can edit the note later after it is added if necessary.
			key.Note="";
			key.DateStarted=DateTime.Today;
			key.IsForeign=false;
			key.VotesAllotted=100;
			RegistrationKeys.Insert(key);
			FillPtInfo();//Refresh registration key list in patient info grid.
		}