Пример #1
0
        void ExtendedMessageListener_RegistrationChanged(object sender, RegistrationEventArgs e)
        {
            switch (e.DeviceName)
            {
            case Environment.Devices.NETDUINO_3_WIFI:
                netduinoConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_NETDUINO_3_WIFI, netduinoConnection.State.ToString()));
                break;

            case Environment.Devices.RASPBERRY_PI_B:
                pibrellaConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_RASPBERRY_B, pibrellaConnection.State.ToString()));
                break;

            case Environment.Devices.WINDOWS_PHONE:
                windowsPhoneConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_WINDOWS_PHONE, windowsPhoneConnection.State.ToString()));
                break;

            case Environment.Devices.WINDOWS_SURFACE:
                surfaceConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_WINDOWS_SURFACE, surfaceConnection.State.ToString()));
                break;
            }
        }
        private void RegisterUser(object sender, RegistrationEventArgs e)
        {
            var manager       = e.OwinCtx.GetUserManager <ApplicationUserManager>();
            var signInManager = e.OwinCtx.Get <ApplicationSignInManager>();

            var user = new User()
            {
                Email    = e.Email,
                UserName = e.Email,
            };

            IdentityResult result = manager.Create(user, e.Password);

            manager.AddToRoles(user.Id, e.UserType);

            if (e.UserType == "User")
            {
                this.registrationService.CreateRegularUser(user.Id, e.FirstName, e.LastName, e.Email);
            }
            else if (e.UserType == "Firm")
            {
                var country = this.locationService.GetCountryByName(e.Country);
                var city    = this.locationService.GetCityByName(e.City);
                this.registrationService.CreateFirm(user.Id, e.FirmName, e.Email, country, city, e.Address);
            }

            signInManager.SignIn(user, isPersistent: false, rememberBrowser: false);
            this.View.Model.Result = result;
        }
Пример #3
0
        private void DoNotify(object state)
        {
            while (registrationEventArgs.Count > 0)
            {
                RegistrationEventArgs eventArgs = null;
                if (registrationEventArgs.TryDequeue(out eventArgs))
                {
                    NotifyRegistrationChanged(eventArgs);
                }
            }

            while (receivedEventArgs.Count > 0)
            {
                MessageEventArgs args = null;
                if (receivedEventArgs.TryDequeue(out args))
                {
                    NotifyMessageReceived(args);
                }
            }

            while (sentEventArgs.Count > 0)
            {
                MessageEventArgs args = null;
                if (sentEventArgs.TryDequeue(out args))
                {
                    NotifyMessageSent(args);
                }
            }
        }
Пример #4
0
 protected void OnRegistrationChanged(RegistrationEventArgs e)
 {
     if (RegistrationChanged != null)
     {
         RegistrationChanged(this, e);
     }
 }
Пример #5
0
        private void sipService_onRegistrationEvent(object sender, RegistrationEventArgs e)
        {
            switch (e.Type)
            {
            case RegistrationEventTypes.REGISTRATION_OK:
            {
                this.Download();
                break;
            }

            case RegistrationEventTypes.UNREGISTRATION_OK:
            {
                if (this.sipService.IsXcapEnabled)
                {
                    this.xcapService.UnPrepare();
                }
                else
                {
                }
                break;
            }

            case RegistrationEventTypes.REGISTRATION_NOK:
            case RegistrationEventTypes.REGISTRATION_INPROGRESS:
            case RegistrationEventTypes.UNREGISTRATION_NOK:
            case RegistrationEventTypes.UNREGISTRATION_INPROGRESS:
                break;
            }
        }
Пример #6
0
        public void onRegistrationEvent(object sender, RegistrationEventArgs e)
        {
            switch (e.Type)
            {
            case RegistrationEventTypes.REGISTRATION_OK:
                this.anStatus     = ANStatus.INSERVICE;
                this.isRegistered = true;
                break;

            case RegistrationEventTypes.REGISTRATION_NOK:
                this.anStatus = ANStatus.STACK_STARTED;
                break;

            case RegistrationEventTypes.REGISTRATION_INPROGRESS:
                this.anStatus = ANStatus.REGISTERING;
                break;

            case RegistrationEventTypes.UNREGISTRATION_OK:
                this.anStatus     = ANStatus.UNREGISTERED;
                this.isRegistered = false;
                this.StopHeartbeatDetector();
                break;

            case RegistrationEventTypes.UNREGISTRATION_NOK:
                this.anStatus = ANStatus.INSERVICE;
                break;

            case RegistrationEventTypes.UNREGISTRATION_INPROGRESS:
                this.anStatus = ANStatus.UNREGISTERING;
                break;
            }
            EventHandlerTrigger.TriggerEvent <AccessNetworkEventArgs>(this.onAccessNetworkEvent, this, new AccessNetworkEventArgs(AccessNetworkEventTypes.ANET_LOGIN, this.anStatus, e.Phrase));
        }
Пример #7
0
        private void sipService_onRegistrationEvent(object sender, RegistrationEventArgs e)
        {
            if (this.Dispatcher.Thread != Thread.CurrentThread)
            {
                this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
                                            new EventHandler <RegistrationEventArgs>(this.sipService_onRegistrationEvent), sender, new object[] { e });
                return;
            }

            switch (e.Type)
            {
            case RegistrationEventTypes.REGISTRATION_INPROGRESS:
            case RegistrationEventTypes.UNREGISTRATION_INPROGRESS:
                this.buttonCancel.IsEnabled = true;
                this.buttonSignIn.IsEnabled = false;
                break;

            case RegistrationEventTypes.REGISTRATION_NOK:
            case RegistrationEventTypes.REGISTRATION_OK:
            case RegistrationEventTypes.UNREGISTRATION_NOK:
            case RegistrationEventTypes.UNREGISTRATION_OK:
                this.buttonCancel.IsEnabled = false;
                this.buttonSignIn.IsEnabled = true;

                this.buttonSignIn.Content = this.sipService.IsRegistered ? "Sign Out" : "Sign In";
                break;
            }
        }
Пример #8
0
        internal static Task RegistrationSuccessfulAsConsole(MetaDataTag[] MetaData, RegistrationEventArgs e)
        {
            if (!e.IsClaimed && Types.TryGetModuleParameter("Registry", out object Obj) && Obj is ThingRegistryClient ThingRegistryClient)
            {
                SimpleXmppConfiguration.PrintQRCode(ThingRegistryClient.EncodeAsIoTDiscoURI(MetaData));
            }

            return(RegistrationSuccessfulAsService(MetaData, e));
        }
Пример #9
0
        void NotifyRegistrationChanged(RegistrationEventArgs args)
        {
            DeviceData deviceData = devicesData.FirstOrDefault(x => x.Name == args.DeviceName);

            if (deviceData != null)
            {
                deviceData.SetConnectionState(args.RegistrationEvent);
            }
        }
        protected override void OnRun(MessageContent content, ClientCommandArgs args)
        {
            var eventArgs = new RegistrationEventArgs
            {
                Registered = content.Registered,
                Message    = content.Message
            };

            ClientModel.Notifier.ReceiveRegistrationResponse(eventArgs);
        }
Пример #11
0
        public void Run(ClientCommandArgs args)
        {
            var receivedContent = Serializer.Deserialize <MessageContent>(args.Message);

            var eventArgs = new RegistrationEventArgs
            {
                Registered = receivedContent.Registered,
                Message    = receivedContent.Message
            };

            ClientModel.Notifier.ReceiveRegistrationResponse(eventArgs);
        }
Пример #12
0
        private void ClientRegistration(RegistrationEventArgs e)
        {
            if (!e.Registered)
            {
                SelectedRoom.AddSystemMessage(Localizer.Instance.Localize(e.Message));

                if (ClientModel.IsInited)
                {
                    ClientModel.Reset();
                }
            }
        }
Пример #13
0
        private static async Task RegistrationSuccessful(MetaDataTag[] MetaData, RegistrationEventArgs e)
        {
            if (!e.IsClaimed && Types.TryGetModuleParameter("Registry", out object Obj) && Obj is ThingRegistryClient ThingRegistryClient)
            {
                string ClaimUrl = ThingRegistryClient.EncodeAsIoTDiscoURI(MetaData);
                string FilePath = Path.Combine(Gateway.AppDataFolder, "Gateway.iotdisco");

                Log.Informational("Registration successful.");
                Log.Informational(ClaimUrl, new KeyValuePair <string, object>("Path", FilePath));

                await File.WriteAllTextAsync(FilePath, ClaimUrl);
            }
        }
Пример #14
0
        protected void CreateUser_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                var owinCtx      = Context.GetOwinContext();
                var selectedRole = this.UserType.SelectedItem.Value;

                var eventArgs = new RegistrationEventArgs();
                if (this.UserType.SelectedItem.Text == "User")
                {
                    eventArgs = new RegistrationEventArgs()
                    {
                        OwinCtx           = owinCtx,
                        Email             = this.Email.Text,
                        FirstName         = this.FirstName.Text,
                        LastName          = this.LastName.Text,
                        UserType          = this.UserType.SelectedItem.Text,
                        Password          = this.Password.Text,
                        ConfirmedPassword = this.ConfirmPassword.Text
                    };
                }
                else if (this.UserType.SelectedItem.Text == "Firm")
                {
                    eventArgs = new RegistrationEventArgs()
                    {
                        OwinCtx           = owinCtx,
                        Email             = this.FirmEmail.Text,
                        FirmName          = this.CompanyName.Text,
                        Country           = this.Country.SelectedItem.Text,
                        City              = this.City.SelectedItem.Text,
                        Address           = this.Address.Text,
                        UserType          = this.UserType.SelectedItem.Text,
                        Password          = this.FirmPassword.Text,
                        ConfirmedPassword = this.FirmConfirmPassword.Text
                    };
                }

                EventRegisterUser(this, eventArgs);

                var result = this.Model.Result;

                if (result.Succeeded)
                {
                    IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                }
                else
                {
                    ErrorMessage.Text = result.Errors.FirstOrDefault();
                }
            }
        }
Пример #15
0
        protected void LogIn_Click(object sender, EventArgs e)
        {
            if (!this.IsValid)
            {
                return;
            }

            var eventArgs = new RegistrationEventArgs()
            {
                OwinCtx   = this.Context.GetOwinContext(),
                Email     = this.Email.Text,
                FirstName = this.FirstName.Text,
                LastName  = this.LastName.Text,
                UserType  = "User"
            };

            this.EventExternalRegisterUser(this, eventArgs);

            if (this.Model.Result.Succeeded)
            {
                var loginInfo = this.Context.GetOwinContext().Authentication.GetExternalLoginInfo();
                if (loginInfo == null)
                {
                    this.RedirectOnFail();
                    return;
                }

                var socialEventArgs = new SocialLoginEventArgs()
                {
                    OwinCtx       = this.Context.GetOwinContext(),
                    UserId        = this.Model.User.Id,
                    UserLoginInfo = loginInfo.Login
                };

                this.EventAddSocialLogin(this, socialEventArgs);
                if (this.Model.Result.Succeeded)
                {
                    this.EventSignIn(this, new SocialLoginEventArgs()
                    {
                        OwinCtx = this.Context.GetOwinContext()
                    });

                    IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                    return;
                }
            }

            this.AddErrors(this.Model.Result);
        }
Пример #16
0
        private void ClientRegistration(object sender, RegistrationEventArgs e)
        {
            Dispatcher.BeginInvoke(new Action <RegistrationEventArgs>(args =>
            {
                if (!args.Registered)
                {
                    SelectedRoom.AddSystemMessage(Localizer.Instance.Localize(args.Message));

                    if (ClientModel.IsInited)
                    {
                        ClientModel.Reset();
                    }
                }
            }), e);
        }
Пример #17
0
        protected virtual void OnDeviceRegistrationStateChanged(object sender, RegistrationEventArgs e)
        {
            var device = e.Device;

            if (e.State == RegistrationState.Registered)
            {
                ParameterControllerAdapter.ParametersUpdated -= OnParametersUpdated;
                ParameterControllerAdapter.ParametersUpdated += OnParametersUpdated;

                ParameterControllerAdapter.RegisterDevice(device);
            }
            else if (e.State == RegistrationState.Failed)
            {
                MsgLogger.WriteError($"{GetType().Name} - OnDeviceRegistrationStateChanged", $"Device ({device.Family}) registration failed!");
            }
        }
        private void OnExternalRegisterUser(object sender, RegistrationEventArgs e)
        {
            var manager = e.OwinCtx.GetUserManager <ApplicationUserManager>();

            var user = new User()
            {
                Email    = e.Email,
                UserName = e.Email,
            };

            this.View.Model.User   = user;
            this.View.Model.Result = manager.Create(user);

            manager.AddToRoles(user.Id, e.UserType);

            if (e.UserType == "User")
            {
                this.registrationService.CreateRegularUser(user.Id, e.FirstName, e.LastName, e.Email);
            }
        }
        void ExtendedMessageListener_RegistrationChanged(object sender, RegistrationEventArgs e)
        {
            switch (e.DeviceName)
            {
            case Devices.PHOTON_A:
                photonAConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_PHOTON_A, photonAConnection.State.ToString()));
                break;

            case Devices.PHOTON_B:
                photonBConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_PHOTON_B, photonBConnection.State.ToString()));
                break;

            case Devices.PHOTON_C:
                photonCConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_PHOTON_C, photonCConnection.State.ToString()));
                break;

            case Devices.RASPBERRY_PI_B:
                pibrellaConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_RASPBERRY_B, pibrellaConnection.State.ToString()));
                break;

            case Devices.WINDOWS_PHONE:
                windowsPhoneConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_WINDOWS_PHONE, windowsPhoneConnection.State.ToString()));
                break;

            case Devices.WINDOWS_SURFACE:
                surfaceConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_WINDOWS_SURFACE, surfaceConnection.State.ToString()));
                break;

            case Devices.ANDROID_PHONE:
                androidConnection.ChangeState(e.RegistrationEvent == RegistrationEventArgs.RegistrationEvents.Registered);
                SendToRegisteredDevices(InstantiateServerStateDataMessage(ServerStates.STATE_CONNECTION_ANDROID_PHONE, androidConnection.State.ToString()));
                break;
            }
        }
Пример #20
0
        private void sipService_onRegistrationEvent(object sender, RegistrationEventArgs e)
        {
            if (this.Dispatcher.Thread != Thread.CurrentThread)
            {
                this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
                                            new EventHandler <RegistrationEventArgs>(this.sipService_onRegistrationEvent), sender, new object[] { e });
                return;
            }

            switch (e.Type)
            {
            case RegistrationEventTypes.REGISTRATION_INPROGRESS:
                this.screenService.SetProgressInfo("Trying to Sign In...");

                // indicators
                this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_grey_24);
                break;

            case RegistrationEventTypes.REGISTRATION_NOK:
                this.screenService.SetProgressInfo(e.Phrase);
                break;

            case RegistrationEventTypes.REGISTRATION_OK:
                this.screenService.SetProgressInfo("Signed In");

                // Screens
                this.screenService.Hide(ScreenType.Authentication);
                this.screenService.Show(ScreenType.History, 1);
                this.screenService.Show(ScreenType.Contacts, 0);

                // Menus
                this.MenuItemFile_SignIn.IsEnabled        = false;
                this.MenuItemFile_SignOut.IsEnabled       = true;
                this.MenuItemFile_Registrations.IsEnabled = true;
                this.MenuItemEAB.IsEnabled     = true;
                this.MenuItemHistory.IsEnabled = true;

                // indicators
                this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_green_24);

                // Sound alert
                this.soundService.PlayConnectionChanged(true);

                break;

            case RegistrationEventTypes.UNREGISTRATION_INPROGRESS:
                this.screenService.SetProgressInfo("Trying to Sign Out...");

                // indicators
                this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_grey_24);
                break;

            case RegistrationEventTypes.UNREGISTRATION_NOK:
                this.screenService.SetProgressInfo(e.Phrase);
                break;

            case RegistrationEventTypes.UNREGISTRATION_OK:
                this.screenService.SetProgressInfo("Signed Out");

                // Screens
                //new Thread(delegate()
                //{
                this.screenService.HideAllExcept(ScreenType.Options | ScreenType.Authorizations);
                this.screenService.Show(ScreenType.Authentication, 0);
                //}).Start();

                // Menus
                this.MenuItemFile_SignIn.IsEnabled        = true;
                this.MenuItemFile_SignOut.IsEnabled       = false;
                this.MenuItemFile_Registrations.IsEnabled = false;
                this.MenuItemEAB.IsEnabled     = false;
                this.MenuItemHistory.IsEnabled = false;

                //...
                this.registrations.Clear();
                this.watchers.Clear();

                // indicators
                this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_red_24);

                // Sound alert
                this.soundService.PlayConnectionChanged(false);
                break;
            }
        }
Пример #21
0
 void messageListener_RegistrationChanged(object sender, RegistrationEventArgs e)
 {
     registrationEventArgs.Enqueue(e);
 }
        private void sipService_onRegistrationEvent(object sender, RegistrationEventArgs e)
        {
            if (this.Dispatcher.Thread != Thread.CurrentThread)
            {
                this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
                                            new EventHandler <RegistrationEventArgs>(this.sipService_onRegistrationEvent), sender, new object[] { e });
                return;
            }

            switch (e.Type)
            {
            case RegistrationEventTypes.REGISTRATION_INPROGRESS:
                this.screenService.SetProgressInfo("正在登陆服务器,请稍后...");

                // indicators
                //this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_grey_24);
                break;

            case RegistrationEventTypes.REGISTRATION_NOK:
                this.screenService.SetProgressInfo(e.Phrase);
                break;

            case RegistrationEventTypes.REGISTRATION_OK:
                this.screenService.SetProgressInfo("Signed In");

                // Screens
                this.screenService.Hide(ScreenType.Authentication);
                this.screenService.Show(ScreenType.History, 1);
                this.screenService.Show(ScreenType.PersonalCenter, 2);
                this.screenService.Show(ScreenType.Call, 0);

                // Menus
                //this.MenuItemFile_SignIn.IsEnabled = false;
                //this.MenuItemFile_SignOut.IsEnabled = true;
                ////this.MenuItemFile_Registrations.IsEnabled = true;
                //this.MenuItemEAB.IsEnabled = true;
                //this.MenuItemHistory.IsEnabled = true;

                // indicators
                //this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_green_24);

                // Sound alert
                // this.soundService.PlayConnectionChanged(true);

                break;

            case RegistrationEventTypes.UNREGISTRATION_INPROGRESS:
                this.screenService.SetProgressInfo("正在退出服务器,请稍后....");

                // indicators
                //this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_grey_24);
                break;

            case RegistrationEventTypes.UNREGISTRATION_NOK:
                this.screenService.SetProgressInfo(e.Phrase);
                break;
                //case RegistrationEventTypes.UNREGISTRATION_OK:
                //    this.screenService.SetProgressInfo("Signed Out");
                //    this.screenService.SetProgressInfo("登录失败:请输入正确的用户名和密码");

                //    // Screens
                //    if (this.sipService.SipStack.State == MySipStack.STACK_STATE.STOPPED)
                //    {
                //        this.screenService.HideAllExcept(ScreenType.Options | ScreenType.Authorizations);
                //        this.screenService.Show(ScreenType.Authentication, 0);
                //    }

                //    // Menus
                //    this.MenuItemFile_SignIn.IsEnabled = true;
                //    this.MenuItemFile_SignOut.IsEnabled = false;
                //   // this.MenuItemFile_Registrations.IsEnabled = false;
                //    this.MenuItemEAB.IsEnabled = false;
                //    this.MenuItemHistory.IsEnabled = false;

                //    //...
                //    this.registrations.Clear();
                //    this.watchers.Clear();

                //    // indicators
                //    this.imageIndicatorConn.Source = MyImageConverter.FromBitmap(Properties.Resources.bullet_ball_glass_red_24);

                //    // Sound alert
                //    // this.soundService.PlayConnectionChanged(false);
                //    break;
            }
        }
 private void RegisterationEventHandler(object sender, RegistrationEventArgs args)
 {
 }
Пример #24
0
 internal void OnUserRegistered(object sender, RegistrationEventArgs e) => SendMail(e.MailSubject, e.MailBody);
Пример #25
0
        private void ProcessContrastUpdate(RegistrationEventArgs e)
        {
            if (!bContrast.IsChecked.Value)
            return;

              var lastAngle = initialAngle;
              if (lastAngle > 180)
            lastAngle = lastAngle - 360;

              var newAngle = e.NewLocation.RotationAngle;
              if (newAngle > 180)
            newAngle = newAngle - 360;

              var angle = newAngle - lastAngle;

              //Opacity moves between 0 and 1
              // by design we think that the complete change from 0 to 1 should be accomplished in 90 degrees
              var change = angle / 90;
              var newOpacity = initialOpacity + change;
              if (newOpacity < 0)
            newOpacity = 0;
              if (newOpacity > 1)
            newOpacity = 1;

              gOuterWrapper.Opacity = newOpacity;
        }
Пример #26
0
        private void ProcessZoomUpdate(RegistrationEventArgs e)
        {
            if (!bZoom.IsChecked.Value)
            return;

              var lastAngle = initialAngle;
              if (lastAngle > 180)
            lastAngle = lastAngle - 360;

              var newAngle = e.NewLocation.RotationAngle;
              if (newAngle > 180)
            newAngle = newAngle - 360;

              var angle = newAngle - lastAngle;

              //ZoomLevel moves between 1 and 5
              // by design we think that the complete change from 1 to 2 should be accomplished in 45 degrees
              var change = angle / 45;
              var newZoomLevel = initialZoomLevel + change;
              if (newZoomLevel < 1)
            newZoomLevel = 1;
              if (newZoomLevel > 5)
            newZoomLevel = 5;

              ZoomLevel = newZoomLevel;
        }
Пример #27
0
        void Device_RegistrationChanged(object sender, RegistrationEventArgs e)
        {
            if (e.NewLocation == null)
            return;

              DateTime start = DateTime.Now;
              if (e.NewLocation.Status != LocationStatus.Located)
              {
            if (ActualDocument != null)
            {
              //Saves current layers to disk
            }
            return;
              }

              if (ActualDocument == null)
              {
            //First time it comes to this document and first document
            LoadDocument(e.NewLocation);
              }
              else
              {
            //Change of document
            if (!ActualDocument.Equals(e.NewLocation.Document))
            {
              //1- Saves current layers to disk
              PdfHelper.SaveLayersToDisk(ActualDocument, Core.Device.ID);

              //2- Loads the layers (for current page)
              LoadDocument(e.NewLocation);
            }
            // Change of page
            else if (ActualPage != e.NewLocation.PageIndex)
            {
              //1- Saves current layers to disk
              PdfHelper.SaveLayersToDisk(ActualDocument, Core.Device.ID);

              //2- Load layers for current page
              ActualPage = e.NewLocation.PageIndex;
              LoadLayersToPage(ActualDocument, ActualPage);
              undoStack.Clear();
              redoStack.Clear();
            }
              }

              Dispatcher.Invoke(DispatcherPriority.Render,
            (Action)delegate()
            {
              Point locationPx = new Point(
              e.NewLocation.LocationCm.X * Core.Profile.PixelsPerCm.Width,
              e.NewLocation.LocationCm.Y * Core.Profile.PixelsPerCm.Height);

              trCanvas.Angle = e.NewLocation.RotationAngle * -1;
              trCanvas.CenterX = locationPx.X;
              trCanvas.CenterY = locationPx.Y;

              ttCanvas.X = locationPx.X * -1 + ActualWidth / 2;
              ttCanvas.Y = locationPx.Y * -1 + ActualHeight / 2;

              //Rotation based functionalities
              ProcessContrastUpdate(e);
              ProcessZoomUpdate(e);
              ProcessAreaTriggers(e.NewLocation, locationPx);
            });
        }