Exemplo n.º 1
0
        public static async Task <AccessPointDetailList> AccessPointDetails(AccessPointData accesspointData)
        {
            var accesspointsList      = _db.GetCollection <DBAccessPoint>("accesspoints");
            var accesspointDetailList = _db.GetCollection <DBAccessPointDetail>("accesspointDetails");
            var accessPoints          = new List <string>();

            switch (accesspointData.Type)
            {
            case AccessPointData.AccessPointType.ID:
                accessPoints = accesspointsList.Find(a => a.accesspointid.Equals(accesspointData.AccessPoint)).Select(x => x.accesspointid).ToList();
                break;

            case AccessPointData.AccessPointType.TAG:
                accessPoints = accesspointsList.Find(a => a.tag.Equals(accesspointData.AccessPoint)).Select(x => x.accesspointid).ToList();
                break;

            case AccessPointData.AccessPointType.NAME:
                accessPoints = accesspointsList.Find(a => a.name.Equals(accesspointData.AccessPoint)).Select(x => x.accesspointid).ToList();
                break;

            case AccessPointData.AccessPointType.ALL:
                accessPoints = accesspointsList.FindAll().Select(x => x.accesspointid).ToList();
                break;
            }

            var allDetails = accessPoints.Select(ap => accesspointDetailList.FindOne(x => x.accesspointid.Equals(ap))).ToList().Select(dbap => new AccessPointDetail
            {
                installationid  = dbap.installationid,
                accesspointid   = dbap.accesspointid,
                accesspointguid = dbap.accesspointguid,
                barcode         = dbap.barcode,
                batterylevel    = dbap.batterylevel,
                batterytype     = dbap.batterytype,
                cameraurl       = dbap.cameraurl,
                serial          = dbap.serial,
                error           = dbap.error,
                filllevel       = dbap.filllevel,
                height          = dbap.height,
                length          = dbap.length,
                pictureurl      = dbap.pictureurl,
                pointtype       = dbap.pointtype,
                tag             = dbap.tag,
                temperature     = dbap.temperature,
                volume          = dbap.volume,
                warning         = dbap.warning,
                weight          = dbap.weight,
                width           = dbap.weight
            }).ToList();

            var detailsList = new AccessPointDetailList();

            detailsList.AccessPoints = allDetails;
            return(await Task.FromResult(detailsList));
        }
Exemplo n.º 2
0
        public static async Task <AccessPointDetailList> CustomerAccessPoints(string customerKey)
        {
            var clients = _db.GetCollection <DBClient>("clients");
            var details = _db.GetCollection <DBAccessPointDetail>("accesspointDetails");

            var client          = clients.Include(x => x.PrimaryAccessPoints).Include(x => x.Secondary1AccessPoints).Include(x => x.Secondary2AccessPoints).FindOne(x => x.Id.Equals(int.Parse(customerKey)));
            var allAccesspoints =
                client.PrimaryAccessPoints.Concat(client.Secondary1AccessPoints)
                .Concat(client.Secondary2AccessPoints).Select(x => x.accesspointid)
                .ToList();

            var allDetails = allAccesspoints.Select(ap => details.FindOne(x => x.accesspointid.Equals(ap))).ToList().Select(dbap => new AccessPointDetail
            {
                installationid  = dbap.installationid,
                accesspointid   = dbap.accesspointid,
                accesspointguid = dbap.accesspointguid,
                barcode         = dbap.barcode,
                batterylevel    = dbap.batterylevel,
                batterytype     = dbap.batterytype,
                cameraurl       = dbap.cameraurl,
                serial          = dbap.serial,
                error           = dbap.error,
                filllevel       = dbap.filllevel,
                height          = dbap.height,
                length          = dbap.length,
                pictureurl      = dbap.pictureurl,
                pointtype       = dbap.pointtype,
                tag             = dbap.tag,
                temperature     = dbap.temperature,
                volume          = dbap.volume,
                warning         = dbap.warning,
                weight          = dbap.weight,
                width           = dbap.weight
            }).ToList();

            var detailsList = new AccessPointDetailList {
                AccessPoints = allDetails
            };

            return(await Task.FromResult(detailsList));
        }