private async void BtnLogin_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Username.Text) && !string.IsNullOrWhiteSpace(Password.Password))
            {
                var admin = await ElectionConfigurationService.Login(new Comissioner { UserName = Username.Text, Password = Password.Password });

                if (admin != null)
                {
                    new MainWindow(admin).Show();
                    Close();
                }
                else
                {
                    await this.ShowMessageAsync("Login Error", "Wrong username or password.");

                    Util.Clear(this);
                    BtnLogin.IsEnabled = true;
                    Username.Focus();
                }
            }
            else
            {
                await this.ShowMessageAsync("Login Error", "Please Enter Username or password to Login.");

                Util.Clear(this);
                Username.Focus();
            }
        }
示例#2
0
        private async void SaveCandidate_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(CandidateName.Text) || !string.IsNullOrWhiteSpace(PositionCombo.Text) ||
                !string.IsNullOrWhiteSpace(RankCombo.Text) || !string.IsNullOrWhiteSpace(RankCombo.Text) ||
                CandidateImage != null

                )
            {
                var candidate = new Candidate
                {
                    Id               = _candidateId,
                    CandidateName    = CandidateName.Text,
                    CandidatePicture = Util.ConvertToBytes(CandidateImage),
                    PositionId       = (int)PositionCombo.SelectedValue,
                    RankId           = (int)RankCombo.SelectedValue
                };
                await ElectionConfigurationService.SaveCandidate(candidate);

                Util.Clear(this);
                CandidateImage.Source     = new BitmapImage(new Uri("../Resources/images/people_on_the_beach_300x300.jpg", UriKind.Relative));
                PositionCombo.ItemsSource = await ElectionConfigurationService.GetAllPositionsAsync();

                RefreshCandidateList();
            }
        }
        private async void RefreshStudentList()
        {
            voters = new List <Voter>();
            voters = (List <Voter>) await ElectionConfigurationService.GetAllVotersAsync();

            StudentsSearchList.ItemsSource = voters;
        }
        private async void BtnSave_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (voters.Count != 0)
            {
                var window       = Window.GetWindow(this) as MetroWindow;
                var dialogResult = await window.ShowMessageAsync("Save Voter List", "Are You Sure You Want To Add this List Of Voters", MessageDialogStyle.AffirmativeAndNegative);

                if (dialogResult == MessageDialogResult.Affirmative)
                {
                    try
                    {
                        BtnSave.IsEnabled = false;
                        _added            = await ElectionConfigurationService.AddVotersAsync(voters);

                        AddedCount.Visibility = Visibility.Visible;
                        AddedCount.Content    = $"Added {_added} Voters";
                        voters.Clear();
                        _dataSet.Reset();
                        BtnSave.IsEnabled = true;
                    }
                    catch (Exception exception)
                    {
                        await metroWindow.ShowMessageAsync("Voter Addition Error", exception.Message);
                    }
                }
            }
        }
示例#5
0
        private async void BtnLogin_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Username.Text) && !string.IsNullOrWhiteSpace(Password.Password))
            {
                BtnLogin.IsEnabled = false;
                var president = await ElectionConfigurationService.Login(new Comissioner { UserName = Username.Text, Password = Password.Password, IsPresident = true });

                if (president != null)
                {
                    new EcChairmanLoginWindow().Show();
                    BtnLogin.IsEnabled = true;

                    Close();
                }
                else
                {
                    await this.ShowMessageAsync("Login Error", "Wrong username or password.");

                    Util.Clear(this);
                    BtnLogin.IsEnabled = true;
                    Username.Focus();
                }
            }
            else
            {
                await this.ShowMessageAsync("Login Error", "Wrong username or password.");

                Util.Clear(this);
                BtnLogin.IsEnabled = true;
                Username.Focus();
            }
        }
示例#6
0
        private async void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            var pos = _addPositionDialogControl.TextBoxPosition.Text;
            var fac = _addPositionDialogControl.TextBoxFaculty.Text;
            await ElectionConfigurationService.UpdatePosition(new Position { Id = Id, PositionName = pos, Faculty = fac });

            await metroWindow.HideMetroDialogAsync(_customDialog);
        }
示例#7
0
        private async void BtnSaveClick(object sender, RoutedEventArgs e)
        {
            var pos = _addPositionDialogControl.TextBoxPosition.Text;
            var fac = _addPositionDialogControl.TextBoxFaculty.Text;
            await ElectionConfigurationService.AddPosition(new Model.Position {
                PositionName = pos, Faculty = fac
            });

            PositionControlHolder.Children.Add(new PositionControl(pos));
            await _metroWindow.HideMetroDialogAsync(_customDialog);
        }
示例#8
0
 //private Position _position;
 //public static Position PositionValue { get; set; }
 public PositionControl(string name)
 {
     InitializeComponent();
     TextBoxPosition.Text = name;
     //TextBoxFaculty.Text = faculty;
     if (!string.IsNullOrWhiteSpace(TextBoxPosition.Text))
     {
         var value = ElectionConfigurationService.AddPosition(new Position {
             PositionName = TextBoxPosition.Text
         });
         Id = value.Id;
     }
 }
示例#9
0
        private void BtnDelete_Click(object sender, RoutedEventArgs a)
        {
            if (!string.IsNullOrWhiteSpace(TextBoxPosition.Text))
            {
                var response = System.Windows.MessageBox.Show("Are You Sure You Want to DELETE Position", "Delete",
                                                              MessageBoxButton.YesNo, MessageBoxImage.Warning);

                if (response == MessageBoxResult.Yes)
                {
                    Admin.Administrators.AdminSetUpPositionPage.Instance.RemovePosition(this);
                    ElectionConfigurationService.RemovePosition(new Position {
                        Id = Id, PositionName = TextBoxPosition.Text
                    });
                }
            }
        }
示例#10
0
        private async void SaveElection_Click(object sender, RoutedEventArgs e)
        {
            if (
                !string.IsNullOrWhiteSpace(TextBoxElectionName.Text) || !string.IsNullOrWhiteSpace(TextBoxElectionName.Text))
            {
                await ElectionConfigurationService.NewElection(new Setting
                {
                    ElectionName    = TextBoxElectionName.Text,
                    EletionSubTitle = TextBoxSubtitle.Text,
                    Colour          = string.Join(",", _chosencolor.R.ToString(), _chosencolor.G.ToString(), _chosencolor.B.ToString()),
                    Logo            = Util.ConvertToBytes(Logo)
                });

                Util.Clear(this);
            }
        }
示例#11
0
        private async void BtnGo_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(Pin.Text))
            {
                try
                {
                    _voter = await ElectionConfigurationService.LoginVoter(new Voter { VoterCode = Pin.Text });

                    ConfirmVoterAsync();
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message, "Election Login Error");
                    throw;
                }
            }
        }
示例#12
0
        private async void Instance_Loaded(object sender, RoutedEventArgs e)
        {
            PositionControlHolder.Children.Clear();
            var positions = await ElectionConfigurationService.GetAllPositionsAsync();

            foreach (var position in positions)
            {
                PositionControlHolder.Children.Add(new PositionControl
                {
                    TextBoxPosition = { Text = position.PositionName },
                    TextBoxFaculty  = { Text = position.Faculty },
                    Id = position.Id
                });
            }

            _customDialog             = new CustomDialog();
            _addPositionDialogControl = new AddPositionDialogControl();
            _addPositionDialogControl.BtnCancel.Click += BtnCancelClick;
            _addPositionDialogControl.BtnSave.Click   += BtnSaveClick;
            _customDialog.Content = _addPositionDialogControl;
        }
示例#13
0
        private async Task GetSettings()
        {
            _positions = new List <Position>();
            try
            {
                //ElectionSettings
                _electionData = await BlobCache.UserAccount.GetObject <Setting>("ElectionSettings")
                                .Catch(Observable.Return(_electionData = ElectionConfigurationService.ConfigureElection()));

                await BlobCache.UserAccount.InsertObject("ElectionSettings", _electionData);

                //ElectionPositions
                _positions = await BlobCache.UserAccount.GetObject <IEnumerable <Position> >("ElectionPositions")
                             .Catch(Observable.Return(_positions = ElectionConfigurationService.GetAllPositions()));

                await BlobCache.UserAccount.InsertObject("ElectionPositions", _positions);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, " Election Settings Error");
            }
        }
示例#14
0
        private async void Page_Loaded(object sender, RoutedEventArgs e)
        {
            PositionCombo.ItemsSource = await ElectionConfigurationService.GetAllPositionsAsync();

            RefreshCandidateList();
        }