Example #1
0
        public static void SetToDefaultRingGroups(int extension, long employeeNum)
        {
            //First, figure out what the defaults are for this employee
            AsteriskRingGroups ringGroups = PhoneEmpDefaults.GetRingGroup(employeeNum);

            /*if(ringGroup==AsteriskRingGroups.All) {
             *      SetToAllRingGroups(extension,employeeNum);
             * }
             * if(ringGroup==AsteriskRingGroups.None) {
             *      RemoveFromRingGroups(extension,employeeNum);
             * }
             * if(ringGroup==AsteriskRingGroups.Backup) {
             *      SetToBackupRingGroupOnly(extension,employeeNum);
             * }*/
            SetRingGroups(extension, ringGroups);
        }
		public static void SetRingGroups(int extension,AsteriskRingGroups ringGroups) {
			DataConnection dcon=new DataConnection(ipAddressAsterisk,"asterisk","opendental","secret",DatabaseType.MySql);
			string command="SELECT grpnum,grplist FROM ringgroups WHERE grpnum = '601' OR grpnum = '609'";
			DataTable table=null;
			try {
				table=dcon.GetTable(command);
			}
			catch {//if remotely connecting from home
				return;
			}
			string rawExtensions601="";
			string rawExtensions609="";
			string[] arrayExtensions601=new string[0];
			string[] arrayExtensions609=new string[0];		
			for(int i=0;i<table.Rows.Count;i++) {
				if(table.Rows[i]["grpnum"].ToString()=="601") {//there should always be exactly one
					rawExtensions601=table.Rows[i]["grplist"].ToString();
					arrayExtensions601=rawExtensions601.Split(new char[] { '-' },StringSplitOptions.RemoveEmptyEntries);
				}
				if(table.Rows[i]["grpnum"].ToString()=="609") {//there should always be exactly one
					rawExtensions609=table.Rows[i]["grplist"].ToString();
					arrayExtensions609=rawExtensions609.Split(new char[] { '-' },StringSplitOptions.RemoveEmptyEntries);
				}
			}
			List<string> listExtension601=new List<string>();
			bool isIn601=false;
			for(int i=0;i<arrayExtensions601.Length;i++){
				//we won't test to make sure each item is a pure number.
				listExtension601.Add(arrayExtensions601[i]);
				if(arrayExtensions601[i]==extension.ToString()) {
					isIn601=true;
				}
			}
			List<string> listExtension609=new List<string>();
			bool isIn609=false;
			for(int i=0;i<arrayExtensions609.Length;i++) {
				//we won't test to make sure each item is a pure number.
				listExtension609.Add(arrayExtensions609[i]);
				if(arrayExtensions609[i]==extension.ToString()) {
					isIn609=true;
				}
			}
			if(ringGroups==AsteriskRingGroups.All) {
				if(!isIn601) {
					AddToRingGroup("601",extension.ToString(),rawExtensions601);
				}
				if(!isIn609) {
					AddToRingGroup("609",extension.ToString(),rawExtensions609);
				}
			}
			if(ringGroups==AsteriskRingGroups.None) {
				if(isIn601) {
					RemoveFromRingGroup("601",extension.ToString(),listExtension601,rawExtensions601);
				}
				if(isIn609) {
					RemoveFromRingGroup("609",extension.ToString(),listExtension609,rawExtensions609);
				}
			}
			if(ringGroups==AsteriskRingGroups.Backup) {
				if(isIn601) {
					RemoveFromRingGroup("601",extension.ToString(),listExtension601,rawExtensions601);
				}
				if(!isIn609) {
					AddToRingGroup("609",extension.ToString(),rawExtensions609);
				}
			}
			Signalods.SetInvalid(InvalidType.PhoneAsteriskReload);
		}
Example #3
0
        public static void SetRingGroups(int extension, AsteriskRingGroups ringGroups)
        {
            DataConnection dcon    = new DataConnection("192.168.0.197", "asterisk", "opendental", "secret", DatabaseType.MySql);
            string         command = "SELECT grpnum,grplist FROM ringgroups WHERE grpnum = '601' OR grpnum = '609'";
            DataTable      table   = null;

            try {
                table = dcon.GetTable(command);
            }
            catch {            //if remotely connecting from home
                return;
            }
            string rawExtensions601 = "";
            string rawExtensions609 = "";

            string[] arrayExtensions601 = new string[0];
            string[] arrayExtensions609 = new string[0];
            for (int i = 0; i < table.Rows.Count; i++)
            {
                if (table.Rows[i]["grpnum"].ToString() == "601")               //there should always be exactly one
                {
                    rawExtensions601   = table.Rows[i]["grplist"].ToString();
                    arrayExtensions601 = rawExtensions601.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                }
                if (table.Rows[i]["grpnum"].ToString() == "609")               //there should always be exactly one
                {
                    rawExtensions609   = table.Rows[i]["grplist"].ToString();
                    arrayExtensions609 = rawExtensions609.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                }
            }
            List <string> listExtension601 = new List <string>();
            bool          isIn601          = false;

            for (int i = 0; i < arrayExtensions601.Length; i++)
            {
                //we won't test to make sure each item is a pure number.
                listExtension601.Add(arrayExtensions601[i]);
                if (arrayExtensions601[i] == extension.ToString())
                {
                    isIn601 = true;
                }
            }
            List <string> listExtension609 = new List <string>();
            bool          isIn609          = false;

            for (int i = 0; i < arrayExtensions609.Length; i++)
            {
                //we won't test to make sure each item is a pure number.
                listExtension609.Add(arrayExtensions609[i]);
                if (arrayExtensions609[i] == extension.ToString())
                {
                    isIn609 = true;
                }
            }
            if (ringGroups == AsteriskRingGroups.All)
            {
                if (!isIn601)
                {
                    AddToRingGroup("601", extension.ToString(), rawExtensions601);
                }
                if (!isIn609)
                {
                    AddToRingGroup("609", extension.ToString(), rawExtensions609);
                }
            }
            if (ringGroups == AsteriskRingGroups.None)
            {
                if (isIn601)
                {
                    RemoveFromRingGroup("601", extension.ToString(), listExtension601, rawExtensions601);
                }
                if (isIn609)
                {
                    RemoveFromRingGroup("609", extension.ToString(), listExtension609, rawExtensions609);
                }
            }
            if (ringGroups == AsteriskRingGroups.Backup)
            {
                if (isIn601)
                {
                    RemoveFromRingGroup("601", extension.ToString(), listExtension601, rawExtensions601);
                }
                if (!isIn609)
                {
                    AddToRingGroup("609", extension.ToString(), rawExtensions609);
                }
            }
            Signalods.SetInvalid(InvalidType.PhoneAsteriskReload);
        }