示例#1
0
        public static async Task <RO <string> > AccessPointOutOfOrder(AccessPointOutOfOrderData accessPointData)
        {
            var accesspointsList = _db.GetCollection <DBAccessPoint>("accesspoints");
            var accessPoints     = accesspointsList.FindAll();

            if (accessPointData.InstallationID != "NA")
            {
                accessPoints = accessPoints.Where(a => a.installationid.Equals(accessPointData.InstallationID));
            }

            DBAccessPoint accessPoint = null;

            if (!string.IsNullOrWhiteSpace(accessPointData.AccessPoint))
            {
                switch (accessPointData.Type)
                {
                case AccessPointData.AccessPointType.ID:
                    accessPoint = accessPoints.SingleOrDefault(a => a.accesspointid.Equals(accessPointData.AccessPoint));
                    break;

                case AccessPointData.AccessPointType.TAG:
                    accessPoint = accessPoints.SingleOrDefault(a => a.tag.Equals(accessPointData.AccessPoint));
                    break;

                case AccessPointData.AccessPointType.NAME:
                    accessPoint = accessPoints.SingleOrDefault(a => a.name.Equals(accessPointData.AccessPoint));
                    break;
                }
            }

            var ro = new RO <string> {
                ReturnValue = string.Empty, ReturnCode = 0, Message = string.Empty
            };

            if (accessPoint != null)
            {
                accessPoint.state = "U";
                //accessPoint.Details.error = accessPointData.Message;
                accesspointsList.Update(accessPoint);
            }
            else
            {
                ro.ReturnCode = -1;
                ro.Message    = "Could not update status...";
            }

            return(await Task.FromResult(ro));
        }
示例#2
0
        public async Task <RO <string> > AccessPointOutOfOrder(AccessPointOutOfOrderData accessPoint)
        {
            var ro = new RO <string>();

            if (ModelState.IsValid)
            {
                ro = await VendorDL.AccessPointOutOfOrder(accessPoint);
            }
            else
            {
                var message = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage));

                ro.ReturnCode = 60;
                ro.Message    = $"Bad request - AccessPointOutOfOrder - Incorrect parameters: {message}";
            }
            return(ro);
        }
示例#3
0
        private static void InitializeTestData()
        {
            /**************************************************
            *  Testparameters spesific to current test
            **************************************************/

            Type            = TestType.REST;
            _installationID = "123";

            //Add accesspoints - at least 3
            AvailableAccessPoints = new List <AccessPoint>();

            var ap1 = new AccessPoint {
                accesspointid = "1718", tag = "", name = "1"
            };

            AvailableAccessPoints.Add(ap1);

            var ap2 = new AccessPoint {
                accesspointid = "1719", tag = "", name = "2"
            };

            AvailableAccessPoints.Add(ap2);

            var ap3 = new AccessPoint {
                accesspointid = "1720", tag = "", name = "3"
            };

            AvailableAccessPoints.Add(ap3);

            /**************************************************
            *  Generic testparameters - no need to touch.....
            **************************************************/
            _allAccessPoints = new AccessPointData {
                InstallationID = InstallationID, Type = AccessPointData.AccessPointType.ALL
            };
            _accessPointsByID = new AccessPointData {
                InstallationID = InstallationID, Type = AccessPointData.AccessPointType.ID, AccessPoint = ap1.accesspointid
            };
            _accessPointsByName = new AccessPointData {
                InstallationID = InstallationID, Type = AccessPointData.AccessPointType.NAME, AccessPoint = ap2.name
            };
            _accessPointsByTag = new AccessPointData {
                InstallationID = InstallationID, Type = AccessPointData.AccessPointType.TAG, AccessPoint = ap3.tag
            };
            _apOutOfOrder = new AccessPointOutOfOrderData {
                InstallationID = TestSetup.InstallationID, AccessPoint = ap1.name, Message = "Out of Order", Type = AccessPointData.AccessPointType.NAME
            };

            if (Type == TestType.LiteDB)
            {
                AvailableAccessPoints.Add(VendorDL.GetRandomAccessPoint());
                AvailableAccessPoints.Add(VendorDL.GetRandomAccessPoint());
                AvailableAccessPoints.Add(VendorDL.GetRandomAccessPoint());
            }

            _availableCards = new Stack <string>();

            // Generate RFID cards
            for (var i = 0; i < 50; i++)
            {
                _availableCards.Push(Utils.GetRandomHexString());
            }

            HouseHoldClient = new HouseHoldClientData
            {
                Customerguid   = Guid.NewGuid().ToString(),
                Customerid     = Utils.GetRandomNumber(1001, 1000000).ToString(),
                Description    = "sample client description",
                Primary        = AvailableAccessPoints[0].accesspointid,
                Secondary1     = AvailableAccessPoints[1].accesspointid,
                Propertyunit   = "Propertyunitstring",
                Streetaddress  = "Customer address",
                RFID           = _availableCards.Pop() + ";" + _availableCards.Pop(),
                InstallationID = InstallationID
            };

            HouseHoldClient2 = new HouseHoldClientData
            {
                Customerguid   = Guid.NewGuid().ToString(),
                Customerid     = Utils.GetRandomNumber(1001, 1000000).ToString(),
                Description    = "testclient - to be deleted during test",
                Primary        = AvailableAccessPoints[0].accesspointid,
                Secondary1     = AvailableAccessPoints[1].accesspointid,
                Propertyunit   = "Propertyunitstring",
                Streetaddress  = "Customer address",
                RFID           = _availableCards.Pop() + ";" + _availableCards.Pop(),
                InstallationID = InstallationID
            };

            CommercialClient = new CommercialClientData
            {
                Name           = "Commercial name",
                Customerguid   = Guid.NewGuid().ToString(),
                Customerid     = new Random().Next(1001, 1000000).ToString(),
                Description    = "sample client description",
                Primary        = AvailableAccessPoints[0].accesspointid,
                Secondary1     = AvailableAccessPoints[1].accesspointid,
                Propertyunit   = "Propertyunitstring",
                Streetaddress  = "Customer address",
                RFID           = _availableCards.Pop() + ";" + _availableCards.Pop(),
                InstallationID = InstallationID
            };

            RequestAllEvents = new EventsData
            {
                Customerkey    = "ALL",
                FromDate       = DateTime.Now.AddDays(-100),
                ToDate         = DateTime.Now,
                InstallationID = InstallationID
            };

            if (Client1 == null)
            {
                var c1 = JsonConvert.DeserializeObject <Client>(Utils.GetSetting("Client1"));
                if (c1 != null)
                {
                    Client1 = c1;
                }

                var c2 = JsonConvert.DeserializeObject <Client>(Utils.GetSetting("Client2"));
                if (c2 != null)
                {
                    Client2 = c2;
                }
            }
        }