예제 #1
0
        public override async Task <DeviceActivationCommandResponse> ExecuteAsync()
        {
            var device = await _database.FirstOrDefault(x => x.RegistrationCode.Equals(RegistrationCode.ToUpper()));

            if (device == null)
            {
                return(new DeviceActivationCommandResponse(ActivationStatus.NotFound));
            }

            if (device.ActivatedOn.HasValue)
            {
                return(new DeviceActivationCommandResponse(ActivationStatus.NotFound));
            }

            device.ActivatedOn = DateTime.UtcNow;
            device.TeamId      = TeamId;
            device.TeamDomain  = TeamDomain;
            device.ChannelId   = ChannelId;
            device.ChannelName = ChannelName;
            device.UserName    = UserName;
            device.UserId      = UserId;

            await _database.UpdateItemAsync(device);

            return(new DeviceActivationCommandResponse(ActivationStatus.Success));
        }