Example #1
0
 private void chkShowAll_Unchecked(object sender, RoutedEventArgs e)
 {
     if (!busy)
     {
         CarsConfig.Instance().ShowAllRecords = chkShowAll.IsChecked ?? true;
     }
 }
Example #2
0
 private void ClickLogin(object sender, RoutedEventArgs e)
 {
     noteLabel.Visibility = System.Windows.Visibility.Collapsed;
     if (userNameTxtBox.Text == "")
     {
         ShowMessage("Please input your name.", MessageType.Error);
     }
     else if (passwordTxtBox.Password == "")
     {
         ShowMessage("Please input your password.", MessageType.Error);
     }
     else
     {
         string email = userNameTxtBox.Text.ToLower().Trim() + emailSuffix.Content.ToString();
         ClientInstance.ShowSpinner();
         if (CarsConfig.Instance().DoSavePW)
         {
             LoginInfo loginInfo = new LoginInfo();
             loginInfo.UserName = email;
             loginInfo.Password = passwordTxtBox.Password;
             CarsConfig.Instance().SaveLoginInfo(loginInfo);
         }
         ClientInstance.Get().LoginAsync(email, CryptographyStuff.AES_EncryptString(passwordTxtBox.Password));
     }
 }
Example #3
0
        public Header()
        {
            InitializeComponent();

            isLoading = true;

            savePW.IsChecked = CarsConfig.Instance().DoSavePW;
            if (savePW.IsChecked == true)
            {
                autoLogin.IsEnabled = true;
                autoLogin.IsChecked = CarsConfig.Instance().DoAutoLogin;
            }
            else
            {
                autoLogin.IsEnabled = false;
            }


            DispatcherTimer timer = new DispatcherTimer();

            timer.Interval = new TimeSpan(0, 0, 1);
            timer.Tick    += new EventHandler(timer_Tick);
            timer.Start();

            if (ClientInstance.UserManualAddress != string.Empty)
            {
                userManualButton.Visibility = System.Windows.Visibility.Visible;
            }
            else
            {
                userManualButton.Visibility = System.Windows.Visibility.Collapsed;
            }

            isLoading = false;
        }
Example #4
0
 private void refreshButton_Click(object sender, RoutedEventArgs e)
 {
     if (ClickRefreshButton != null && !busy)
     {
         busy = true;
         ClickRefreshButton(sender, e as EventArgs, CarsConfig.Instance().ShowAllRecords);     // by default, show all
     }
 }
Example #5
0
 void rr_RejectedLeaveEvent(object sender, EventArgs e)
 {
     if (UpdateLeftUI != null)
     {
         UpdateLeftUI(sender, e);
     }
     RefreshData(CarsConfig.Instance().ShowAllRecords);
     sc.Busy = false;
 }
Example #6
0
 void sc_RunAsEvent(object sender, EventArgs e)
 {
     RunAsUser = sc.UserRunAs;
     if (RunAsEvent != null)
     {
         RunAsEvent(sender, e);
     }
     RefreshData(CarsConfig.Instance().ShowAllRecords);
 }
Example #7
0
        private void autoLogin_Unchecked(object sender, RoutedEventArgs e)
        {
            if (isLoading)
            {
                return;
            }

            CarsConfig.Instance().DoAutoLogin = autoLogin.IsChecked ?? false;
        }
Example #8
0
        public SearchControl(CARSPage page, User rootManager)
        {
            InitializeComponent();

            SetPageAndUser(page, rootManager);

            chkShowAll.IsChecked = CarsConfig.Instance().ShowAllRecords;

            CARSServiceClient client = CARSServiceClientFactory.CreateCARSServiceClient();// leave this line, we cannot use a public static object here. Because it may already has handler of GetLeaveTypesCompleted

            client.GetLeaveTypesCompleted += new EventHandler <GetLeaveTypesCompletedEventArgs>(client_GetLeaveTypesCompleted);
            client.GetLeaveTypesAsync();
        }
Example #9
0
        public Login(bool firstTime)
        {
            InitializeComponent();

            isLoading = true;

            if (firstTime)
            {
                ClientInstance.Get().LoginCompleted                += new EventHandler <LoginCompletedEventArgs>(client_LoginCompleted);
                ClientInstance.Get().ForgetPasswordCompleted       += new EventHandler <ForgetPasswordCompletedEventArgs>(client_ForgetPasswordCompleted);
                ClientInstance.Get().GetUserManualAddressCompleted += new EventHandler <GetUserManualAddressCompletedEventArgs>(Login_GetUserManualAddressCompleted);
                ClientInstance.Get().GetReportBugAddressCompleted  += new EventHandler <GetReportBugAddressCompletedEventArgs>(Login_GetReportBugAddressCompleted);
                //animblur.Begin();
            }

            savePW.IsChecked = CarsConfig.Instance().DoSavePW;
            if (savePW.IsChecked == true)
            {
                autoLogin.IsEnabled = true;
                autoLogin.IsChecked = CarsConfig.Instance().DoAutoLogin;
            }
            else
            {
                autoLogin.IsEnabled = false;
            }

            //forgetButton.Height =
            loginButton.Height = registryButton.Height = 30;
            //forgetButton.Width =
            loginButton.Width          = registryButton.Width = 100;
            registryButton.ActiveColor = Colors.Black;
            loginButton.ActiveColor    = Colors.Black;

            CARSServiceClient client = CARSServiceClientFactory.CreateCARSServiceClient();

            client.GetVersionCompleted += new EventHandler <GetVersionCompletedEventArgs>(client_GetVersionCompleted);
            client.GetVersionAsync();

            if (ClientInstance.UserManualAddress != string.Empty)
            {
                userManualButton.Visibility = System.Windows.Visibility.Visible;
            }
            else
            {
                ClientInstance.Get().GetUserManualAddressAsync();
            }

            ClientInstance.Get().GetReportBugAddressAsync();
        }
Example #10
0
        private void savePW_Unchecked(object sender, RoutedEventArgs e)
        {
            autoLogin.IsEnabled = savePW.IsChecked ?? false;

            if (autoLogin.IsEnabled == false)
            {
                autoLogin.IsChecked = false;
            }

            if (isLoading)
            {
                return;
            }

            CarsConfig.Instance().DoSavePW = savePW.IsChecked ?? false;
        }
Example #11
0
        void Login_GetReportBugAddressCompleted(object sender, GetReportBugAddressCompletedEventArgs e)
        {
            ClientInstance.ReportBugAddress = e.Result;

            isLoading = false;

            if (CarsConfig.Instance().DoSavePW)
            {
                LoginInfo loginInfo = CarsConfig.Instance().LoadLoginInfo();
                userNameTxtBox.Text     = loginInfo.UserName.Replace(emailSuffix.Content.ToString(), "");
                passwordTxtBox.Password = loginInfo.Password;

                if (CarsConfig.Instance().DoAutoLogin)
                {
                    ClientInstance.Get().LoginAsync(loginInfo.UserName, CryptographyStuff.AES_EncryptString(loginInfo.Password));
                }
            }
        }
Example #12
0
        private void client_ApproveLeaveCompleted(object sender, ApproveLeaveCompletedEventArgs e)
        {
            count--;
            if (count == 0)
            {
                Logger.Instance().Log(MessageType.Information, "Approve Leave Completed");
                if (ErrorHandler.Handle(e.Error))
                {
                    return;
                }

                if (UpdateLeftUI != null)
                {
                    UpdateLeftUI(sender, e);
                }
                RefreshData(CarsConfig.Instance().ShowAllRecords);
                sc.Busy = false;

                Message.Information("Done! A notification email will be sent to your team member. You are in the CC list.");
            }
        }
Example #13
0
        private void UpdatePageContent(CARSPage page)
        {
            leftArea.Children.Clear();

            switch (page)
            {
            case CARSPage.ApplyLeave:
                rightArea.Children.Clear();
                applyControl.IsViewMode  = false;                        // update data
                applyControl.CurrentPage = CARSPage.ApplyLeave;
                leaveRecords.CurrentPage = CARSPage.ApplyLeave;
                leaveRecords.RefreshData();                         // update data, current user's
                leftArea.Children.Add(applyControl);
                rightArea.Children.Add(leaveRecords);
                break;

            case CARSPage.PersonalInfo:
                rightArea.Children.Clear();
                if (personnalInfomation == null)
                {
                    personnalInfomation = new PersonalInformation(user, CARSPage.PersonalInfo);
                    personnalInfomation.UpdateListEvent += new PersonalInformation.UpdateListEventHandler(personnalInfomation_UpdateListEvent);
                }
                personnalInfomation.RefreshData(user, CARSPage.PersonalInfo); // update data
                leaveRecords.CurrentPage = CARSPage.PersonalInfo;
                leaveRecords.RefreshData();                                   // update data, current user's
                leftArea.Children.Add(personnalInfomation);
                rightArea.Children.Add(leaveRecords);
                break;

            case CARSPage.ApproveLeave:
                rightArea.Children.Clear();
                applyControl.CurrentPage = CARSPage.ApproveLeave;
                if (leaveRecords.CurrentFrozenDate == DateTime.MinValue)
                {
                    leaveRecords.CurrentFrozenDate = applyControl.CurrentFrozenDate;
                }
                leaveRecords.CurrentPage = CARSPage.ApproveLeave;
                leaveRecords.RefreshData(CarsConfig.Instance().ShowAllRecords);                         // update data, by default, don't show other leaves, only applying leaves.
                leftArea.Children.Add(applyControl);
                rightArea.Children.Add(leaveRecords);
                break;

            case CARSPage.EmployeeInfo:
                rightArea.Children.Clear();
                if (personnalInfomation == null)
                {
                    personnalInfomation = new PersonalInformation(user, CARSPage.PersonalInfo);
                    personnalInfomation.UpdateListEvent += new PersonalInformation.UpdateListEventHandler(personnalInfomation_UpdateListEvent);
                }
                personnalInfomation.RefreshData(null, CARSPage.EmployeeInfo);                         // update data
                if (employeeRecords == null)
                {
                    employeeRecords = new EmployeeRecords();
                    employeeRecords.SelectionChanged += new SelectionChangedEventHandler(employeeRecords_EmployeeSelectionChanged);
                }
                leftArea.Children.Add(personnalInfomation);
                rightArea.Children.Add(employeeRecords);
                break;

            case CARSPage.VacationRules:
                //TODO Don't need for now.
                //StackPanel sp = new StackPanel();
                //sp.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
                //sp.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
                //sp.Width = double.NaN;
                //sp.Height = double.NaN;
                //TextBox tb = new TextBox();
                //tb.Width = 450;
                //tb.Height = 480;
                //tb.Margin = new Thickness(20, 20, 20, 20);
                //tb.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
                //tb.VerticalAlignment = System.Windows.VerticalAlignment.Top;
                //tb.Text = "Here is vacation rules";
                //sp.Children.Add(tb);
                //if (user.Type == UserType.Employee || user.Type == UserType.Manager)
                //{
                //    tb.IsReadOnly = true;
                //    tb.Background = new SolidColorBrush(Colors.Transparent);
                //}
                //else
                //{
                //    Button ub = new Button();
                //    ub.Content = "Update";
                //    ub.Width = 80;
                //    ub.Height = 30;
                //    ub.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
                //    ub.Click += new RoutedEventHandler(ub_Click);
                //    sp.Children.Add(ub);
                //}
                //leftArea.Children.Add(sp);
                //rightArea.Children.Clear();
                //rightArea.Children.Add(new HolidayConfigControl(user));
                break;

            case CARSPage.LeaveHistory:
                rightArea.Children.Clear();
                applyControl.CurrentPage = CARSPage.LeaveHistory;
                leaveRecords.CurrentPage = CARSPage.LeaveHistory;
                leaveRecords.RefreshData(CarsConfig.Instance().ShowAllRecords);                         // update data, show all
                leftArea.Children.Add(applyControl);
                rightArea.Children.Add(leaveRecords);
                break;

            default:
                break;
            }
        }