Ejemplo n.º 1
0
        public void Run(params string[] args)
        {
            PhoneSystem ps = PhoneSystem.Root;
            Parameter   p  = ps.GetParameterByName("DIALCODEBTHELPER");

            if (p == null)
            {
                ps.GetTenants()[0].CreateParkExtension(args[1]).Save();
                p             = ps.CreateParameter();
                p.Name        = "DIALCODEBTHELPER";
                p.Value       = args[1];
                p.Type        = ParameterType.String;
                p.Description = "Dial code for Blind transfer helper";
                p.Save();
            }
            else
            {
                ParkExtension pe = ps.GetDNByNumber(p.Value) as ParkExtension;
                if (pe == null)
                {
                    ps.GetTenants()[0].CreateParkExtension(args[1]).Save();
                    p.Value = args[1];
                    p.Save();
                }
                else
                {
                    pe.Number = args[1];
                    pe.Save();
                    p.Value = args[1];
                    p.Save();
                }
            }
        }
        public void Run(params string[] args)
        {
            if (!args[1].StartsWith("SP"))
            {
                throw new ArgumentException("Shared Park Extension must start with 'SP'");
            }

            ParkExtension sp = PhoneSystem.Root.GetTenant().CreateParkExtension(args[1]);

            sp.Save();
        }
Ejemplo n.º 3
0
        public void Run(params string[] args)
        {
            PhoneSystem ps            = PhoneSystem.Root;
            String      newParkCode   = args[1];
            String      newUnparkCode = args[2];

            Parameter parkCode   = ps.GetParameterByName("PARK");
            Parameter unparkCode = ps.GetParameterByName("UNPARK");
            DN        oldPark    = null;
            DN        oldUnpark  = null;

            //check park code
            if (parkCode == null || newParkCode != parkCode.Value)
            {
                DN d = ps.GetDNByNumber(newParkCode);
                if (d != null && !(d is ParkExtension))
                {
                    throw new Exception("park code is allocated to enother entity");
                }
                if (parkCode != null)
                {
                    oldPark = (ps.GetDNByNumber(parkCode.Value) as ParkExtension);
                }
            }
            //check unpark code
            if (unparkCode == null || newParkCode != unparkCode.Value)
            {
                DN d = ps.GetDNByNumber(newUnparkCode);
                if (d != null && !(d is ParkExtension))
                {
                    throw new Exception("unpark code is allocated to enother entity");
                }
                if (unparkCode != null)
                {
                    oldUnpark = (ps.GetDNByNumber(unparkCode.Value) as ParkExtension);
                }
            }
            if (parkCode == null)
            {
                parkCode      = ps.CreateParameter();
                parkCode.Type = ParameterType.String;
                parkCode.Name = "PARK";
            }

            if (unparkCode == null)
            {
                unparkCode      = ps.CreateParameter();
                unparkCode.Type = ParameterType.String;
                unparkCode.Name = "UNPARK";
            }

            ParkExtension[] pe           = ps.GetParkExtensions();
            ParkExtension   parkUpdate   = null;
            ParkExtension   unparkUpdate = null;

            foreach (DN p in pe)
            {
                if (oldPark == p)
                {
                    parkUpdate = oldPark as ParkExtension;
                }
                if (oldUnpark == p)
                {
                    unparkUpdate = oldUnpark as ParkExtension;
                }
            }

            if (parkUpdate == null || unparkUpdate == null)
            {
                foreach (ParkExtension p in pe)
                {
                    p.Delete();
                }
                parkUpdate   = ps.GetTenant().CreateParkExtension(newParkCode);
                unparkUpdate = ps.GetTenant().CreateParkExtension(newUnparkCode);
            }
            else
            {
                parkUpdate.Number   = newParkCode;
                unparkUpdate.Number = newUnparkCode;
            }

            parkUpdate.Save();
            parkCode.Value = newParkCode;
            parkCode.Save();
            unparkCode.Value = newUnparkCode;
            unparkCode.Save();
            unparkUpdate.Save();
        }