示例#1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(_loginViewModel.FirstName))
            {
                MessageBox.Show("Wrong first name.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            if (string.IsNullOrWhiteSpace(_loginViewModel.LastName))
            {
                MessageBox.Show("Wrong last name.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            if (!Pesel.VerifyPesel(_loginViewModel.Pesel))
            {
                MessageBox.Show("Wrong pesel number.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            if (DateTime.Compare(Pesel.BirthdayDateTimeFromPesel(_loginViewModel.Pesel).AddYears(18), new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)) > 0)
            {
                MessageBox.Show("You are to young.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            var voter = new Voter
            {
                FirstName = _loginViewModel.FirstName,
                LastName  = _loginViewModel.LastName,
                Pesel     = _loginViewModel.Pesel
            };

            new VoteWindow(voter).Show();
            Close();
        }
示例#2
0
        private Patient ReadClient(ISheet sheet)
        {
            var patient = new ExaminationPatient(sheet);

            if (!DateTime.TryParse(patient.Birthday, out DateTime birthday))
            {
                var pesel = new Pesel(patient.Pesel);
                birthday = pesel.GetBirthday();
            }

            var materialRegistrationDate = DateTime.Parse(patient.MaterialRegistrationDate);

            if (materialRegistrationDate == DateTime.MinValue)
            {
                throw new ArgumentException($"Material registration date is empty for {patient.Name}!");
            }

            var client = new Patient
            {
                Birthday = birthday,
                Gender   = Converter.SetGender(patient.Gender),
                Id       = Hash.Generate(patient.Pesel),
                Address  = patient.Address,
                MaterialRegistrationDate = materialRegistrationDate
            };

            return(client);
        }
示例#3
0
        public RegisterView()
        {
            InitializeComponent();
            Login.InputText.Text    = "login";
            Password.InputText.Text = "password";
            Email.InputText.Text    = "e-mail";
            Name.InputText.Text     = "name";
            Surname.InputText.Text  = "surname";
            Age.InputText.Text      = "age";
            City.InputText.Text     = "city";
            Street.InputText.Text   = "street";
            Code.InputText.Text     = "postal code";
            Pesel.InputText.Text    = "PESEL";
            Nip.InputText.Text      = "NIP";
            Regon.InputText.Text    = "REGON";

            Login.SetDefaultText();
            Password.SetDefaultText();
            Email.SetDefaultText();
            Name.SetDefaultText();
            Surname.SetDefaultText();
            Age.SetDefaultText();
            City.SetDefaultText();
            Street.SetDefaultText();
            Code.SetDefaultText();
            Pesel.SetDefaultText();
            Nip.SetDefaultText();
            Regon.SetDefaultText();
        }
        private void DodajKlienta(object sender, RoutedEventArgs e)
        {
            try
            {
                if (ImieKlientaTextBox.Text == "" || NazwiskoKlientaTextBox.Text == "" || AdresKlientaTextBox.Text == "" ||
                    Pesel.Text == "" || NumerTelefonuKlientaTextBox.Text == "")
                {
                    Exception pustePole = new Exception("Musisz uzupełnić wszystkie pola!");
                    throw pustePole;
                }

                Klient klient = new Klient();
                klient.Imie     = ImieKlientaTextBox.Text;
                klient.Nazwisko = NazwiskoKlientaTextBox.Text;

                string nrTel = NumerTelefonuKlientaTextBox.Text;
                foreach (char s in nrTel)
                {
                    if (s < '0' || s > '9')
                    {
                        Exception niewlasciwyNumer = new Exception("Numer telefonu ma niewłaściwy format!");
                        throw niewlasciwyNumer;
                    }
                }

                klient.NrTelefonu = Convert.ToInt32(NumerTelefonuKlientaTextBox.Text);
                klient.Adres      = AdresKlientaTextBox.Text;

                if (Pesel.Text.Length == 11)
                {
                    string pesel = Pesel.Text;
                    foreach (char s in pesel)
                    {
                        if (s < '0' || s > '9')
                        {
                            Exception niewlasciwyPesel = new Exception("PESEL ma niewłaściwy format!");
                            throw niewlasciwyPesel;
                        }
                    }
                }
                else
                {
                    Exception niewlasciwyPesel = new Exception("PESEL ma niewłaściwy format!");
                    throw niewlasciwyPesel;
                }

                klient.Pesel = Pesel.Text;
                listaKlientow.Add(klient);
                ImieKlientaTextBox.Clear();
                NazwiskoKlientaTextBox.Clear();
                NumerTelefonuKlientaTextBox.Clear();
                AdresKlientaTextBox.Clear();
                Pesel.Clear();
                MessageBox.Show("Dodano!");
            }
            catch (Exception wyjatek)
            {
                MessageBox.Show(wyjatek.Message);
            }
        }
        public void Pesel_EquityComparer()
        {
            var a = new Pesel(validPesel);
            var b = new Pesel(validPesel);

            Assert.AreEqual(a, b);
        }
        public void Pesel_SerializeDeserialize()
        {
            var pesel       = new Pesel(validPesel);
            var serialized  = JsonConvert.SerializeObject(pesel);
            var deserialied = JsonConvert.DeserializeObject <Pesel>(serialized);

            Assert.AreEqual(pesel, deserialied);
        }
        public Task <Voter?> GetByPesel(Pesel pesel)
        {
            var voterEntity = _datastore.Voters.Values
                              .SingleOrDefault(e => pesel.Equals(e.Pesel));

            return(voterEntity is not null
                ? Get(voterEntity.Id)
                : Task.FromResult(default(Voter)));
        }
示例#8
0
 public LoginValidatorService(string firstName, string lastName, string pesel,
                              ICheckUserIsDisallowedToVoteService serviceCheckUserIsDisallowedToVoteService,
                              ICheckUserAlreadyVotedService serviceCheckUserAlreadyVotedService)
 {
     _firstName  = firstName;
     _lastName   = lastName;
     _pesel      = pesel;
     _peselPesel = new Pesel(pesel);
     _serviceCheckUserIsDisallowedToVoteService = serviceCheckUserIsDisallowedToVoteService;
     _serviceCheckUserAlreadyVotedService       = serviceCheckUserAlreadyVotedService;
 }
示例#9
0
        public void PeselValidator()
        {
            Assert.IsFalse(Pesel.PeselValidator("1234"));
            Assert.IsFalse(Pesel.PeselValidator("123fdsfcd333"));
            Assert.IsFalse(Pesel.PeselValidator("1234567898765435677"));
            Assert.IsFalse(Pesel.PeselValidator("12982912345"));
            Assert.IsFalse(Pesel.PeselValidator("12333467865"));
            Assert.IsFalse(Pesel.PeselValidator("1234"));

            Assert.IsTrue(Pesel.PeselValidator("87052514228"));
        }
 public IHttpActionResult GetBirthDate(string pesel)
 {
     try
     {
         var obj = new Pesel(pesel);
         return(this.Ok(obj.BirthDate));
     }
     catch (Exception e)
     {
         return(this.BadRequest(e.Message));
     }
 }
 public IHttpActionResult Validate(string pesel)
 {
     try
     {
         var obj = new Pesel(pesel);
         return(this.Ok($"Pesel {pesel} is valid"));
     }
     catch (Exception e)
     {
         return(this.BadRequest(e.Message));
     }
 }
示例#12
0
        static string BuildSummary(Pesel pesel)
        {
            var summary = new StringBuilder();

            summary
            .AppendLine($"PESEL: {pesel.InString} w {pesel.CellLocalization}")
            .AppendLine($"DZIEŃ: {pesel.PeselFactors.Day}")
            .AppendLine($"MIESIĄC: {pesel.PeselFactors.Month}")
            .AppendLine($"ROK: {pesel.PeselFactors.Year}")
            .AppendLine($"DATA URODZENIA: {pesel.BornDate}");
            return(summary.ToString());
        }
示例#13
0
        public bool Is_gender_valid(string peselString)
        {
            // Arrange

            // Act
            AssertIsPeselValid(peselString);

            var pesel = new Pesel(peselString);

            // Assert
            return(pesel.IsAWoman);
        }
示例#14
0
        public Gender GetGender()
        {
            var peselChar = Pesel.ToArray();

            if (Convert.ToInt32(peselChar[9]) % 2 == 0)
            {
                return(Gender.Male);
            }
            else
            {
                return(Gender.Female);
            }
        }
示例#15
0
        private bool IsValidData(string pesel, string Name, string Surname)
        {
            Pesel validPesel = new Pesel(pesel);

            if (((Name != "") && (Surname != "")) && (Pesel != "") && (validPesel.IsValid == true))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#16
0
        public void Is_birthday_valid(string peselString, int year, int month, int day)
        {
            // Arrange
            DateTime birthday = new DateTime(year, month, day);

            // Act
            AssertIsPeselValid(peselString);

            var      pesel         = new Pesel(peselString);
            DateTime peselBirthday = pesel.GetBirthday();

            // Assert
            Assert.That(peselBirthday, Is.EqualTo(birthday));
        }
        public async Task <Voter?> GetByPesel(Pesel pesel)
        {
            var sqlQuery = new StringBuilder()
                           .AppendLine("SELECT * FROM @Schema.voter WHERE voter.pesel = @Pesel;")
                           .AppendLine("SELECT * FROM @Schema.vote WHERE vote.voter_id = (SELECT voter.id FROM @Schema.voter WHERE voter.pesel = @Pesel);")
                           .ToString()
                           .InjectSchema(Schema);

            var multiQuery = await _connection.QueryMultipleAsync(
                sql : sqlQuery,
                param : new { Pesel = pesel.Code },
                transaction : _transactionProvider.Get());

            return(await ReadVoterFromMultiQuery(multiQuery));
        }
示例#18
0
 private void ClearAllToDefault()
 {
     Login.Refresh();
     Password.Refresh();
     Email.Refresh();
     Name.Refresh();
     Surname.Refresh();
     Age.Refresh();
     City.Refresh();
     Street.Refresh();
     Code.Refresh();
     Pesel.Refresh();
     Nip.Refresh();
     Regon.Refresh();
 }
示例#19
0
        public Dictionary <int, Pesel> GetPesele(string firstCell, Pesel pesel)
        {
            var cellLoc = ExcelCell.TranslateFromString(firstCell);
            var pesele  = new Dictionary <int, Pesel>();
            var index   = 1;
            var x       = cellLoc.X;

            while (ReadCell(x, cellLoc.Y) != string.Empty && IsPeselCorrect(ReadCell(x, cellLoc.Y)))
            {
                pesele.Add(index, new Pesel(
                               ReadCell(x, cellLoc.Y), ExcelCell.TranslateFromXY(cellLoc.Y, x)));
                index++;
                x++;
            }
            return(pesele);
        }
示例#20
0
        public async Task <Response <VoterViewModel> > Handle(LogIn request, CancellationToken cancellationToken)
        {
            var pesel = Pesel.ValidateAndCreate(request.Pesel);

            var voter = await _votersRepository.GetByPesel(pesel);

            if (voter is null)
            {
                return(new AuthenticationError(
                           "login with the given data has failed"));
            }

            var viewModel = _mapper.Map <Voter, VoterViewModel>(voter);

            return(viewModel);
        }
示例#21
0
        public ActionResult VerifyAge(Pesel pesel)
        {
            if (pesel.PeselNumber == null || pesel.BirthDate == null)
            {
                return(View());
            }
            else
            {
                var             currentUserId    = UserId(User.Identity.Name);
                List <Users>    userList         = new List <Users>();
                IPeselValidator peselValidator   = new PeselValidator();
                bool            checkPesel       = peselValidator.ValidatePesel(pesel.PeselNumber);
                bool            checkPeselAndAge = false;
                if (checkPesel == false)
                {
                    ViewBag.peselError = "Podany pesel jest niepoprawny";
                    return(View());
                }

                if (peselValidator.ValidateAge(pesel.BirthDate))
                {
                    checkPeselAndAge = peselValidator.ValidatePeselAndBirthDate(pesel.PeselNumber, pesel.BirthDate);
                }

                if (checkPeselAndAge)
                {
                    using (ProjektEntities context = new ProjektEntities())
                    {
                        var user = context.Users.Where(a => a.id == currentUserId).FirstOrDefault();
                        user.email           = user.email;
                        user.username        = user.username;
                        user.ConfirmPassword = user.password;
                        user.role_id         = 3;
                        context.SaveChanges();
                    }



                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ViewBag.peselError = "Podany pesel i data nie zgadzają się ze sobą";
                    return(View());
                }
            }
        }
示例#22
0
        //PESEL
        private void button1_Click(object sender, EventArgs e)
        {
            Pesel pesel = new Pesel();

            if (textBox_PESEL.Text != "" && long.TryParse(textBox_PESEL.Text, out y) &&
                textBox_PESEL.Text.Length == 11)
            {
                MessageBox.Show(pesel.CheckPesel(textBox_PESEL.Text));
            }
            else if (textBox_PESEL.Text.Length < 11)
            {
                MessageBox.Show("Pesel is too short");
            }
            else
            {
                MessageBox.Show("Write your pesel");
            }
        }
        public IHttpActionResult Read(string pesel)
        {
            if (pesel == null)
            {
                return(BadRequest());
            }

            try
            {
                var id = new Pesel(pesel);
                return(Ok(repository.Get(id)));
            }
            catch (KeyNotFoundException e)
            {
                return(NotFound());
            }
            catch (ApplicationException e)
            {
                return(this.BadRequest(e.Message));
            }
        }
        public Task <Voter?> Get(Guid voterId)
        {
            if (_datastore.Voters.TryGetValue(voterId, out var entity))
            {
                var votes = _datastore.Votes.Values
                            .Where(e => e.VoterId == voterId)
                            .Select(e => new Vote(e.Id, e.VoterId, e.QuestionId))
                            .ToList();

                var pesel = new Pesel(entity.Pesel);

                var voter = new Voter(
                    entity.Id,
                    pesel,
                    entity.IsAdministrator,
                    votes);

                return(Task.FromResult((Voter?)voter));
            }

            return(Task.FromResult(default(Voter)));
        }
示例#25
0
        public void Is_age_calculated_correctly()
        {
            // Arrange
            string   peselString = "74082615670";
            DateTime now         = DateTime.Now;
            DateTime birthday    = new DateTime(1974, 08, 26);

            int age = DateTime.Now.Year - birthday.Year;

            if (IsTodayBeforeBirthday(now, birthday))
            {
                age--;
            }

            // Act
            AssertIsPeselValid(peselString);
            var pesel        = new Pesel(peselString);
            int ageFromPesel = pesel.GetAge();

            // Assert
            Assert.That(ageFromPesel, Is.EqualTo(age));
        }
示例#26
0
        public override void ObliczeniePesel()
        {
            DateTime RokUrodzenia = new DateTime(1900, 1, 1);
            int      rok1         = Convert.ToInt32(Pesel.Substring(0, 1));
            int      rok2         = Convert.ToInt32(Pesel.Substring(1, 1));
            int      msc1         = Convert.ToInt32(Pesel.Substring(2, 1));
            int      msc2         = Convert.ToInt32(Pesel.Substring(3, 1));
            int      dzien1       = Convert.ToInt32(Pesel.Substring(4, 1));
            int      dzien2       = Convert.ToInt32(Pesel.Substring(5, 1));
            int      plec         = Convert.ToInt32(Pesel.Substring(9, 1));

            int Dzien = 0, Miesiac = 0, Rok = 0;

            Dzien   = dzien1 * 10 + dzien2 - 1;
            Miesiac = msc1 * 10 + msc2 - 1;
            Rok     = rok1 * 10 + rok2;

            RokUrodzenia = RokUrodzenia.AddDays(Dzien);
            RokUrodzenia = RokUrodzenia.AddMonths(Miesiac);
            RokUrodzenia = RokUrodzenia.AddYears(Rok);

            DateTime ObecnyCzas = DateTime.UtcNow.ToLocalTime();
            int      Wiek       = (ObecnyCzas.Year - RokUrodzenia.Year);
            string   _plec;

            if (plec % 2 == 0)
            {
                _plec = "Kobieta";
            }
            else
            {
                _plec = "Mężczyzna";
            }

            Console.WriteLine("Data urodzenia: " + RokUrodzenia.ToString("dd-MM-yyyy"));
            Console.WriteLine("Lat: " + Wiek.ToString());
            Console.WriteLine("Plec: " + _plec);
        }
示例#27
0
 public void Is_PESEL_number_invalid(string peselString)
 {
     // Act & Arrange
     Assert.IsFalse(Pesel.IsValid(peselString));
 }
 public void Pesel_Serialization()
 {
     var pesel  = new Pesel(validPesel);
     var result = JsonConvert.SerializeObject(pesel);
 }
示例#29
0
        public string this[string columnName]
        {
            get
            {
                switch (columnName)
                {
                case "Wiek":
                    if (Wiek < 0)
                    {
                        return("wiek musi byc dodatni");
                    }
                    break;

                case "Kwota":
                    if (Kwota < 0)
                    {
                        return("kwota musi byc dodatnia");
                    }
                    break;

                case "Nazwisko":
                    if (string.IsNullOrEmpty(Nazwisko))
                    {
                        return("nazwisko nie moze byc puste");
                    }
                    break;

                case "Email":
                    if (!string.IsNullOrEmpty(Email))
                    {
                        try
                        {
                            MailAddress mail = new MailAddress(Email);
                            email = Email;
                        }
                        catch (FormatException)
                        {
                            email = null;
                            return("To nie jest poprawny formal adresu email");
                        }
                    }
                    break;

                case "Pesel":
                    long pesel;
                    if (long.TryParse(Pesel, out pesel))
                    {
                        if (Pesel.ToString().Length != 11)
                        {
                            return("pesel musi miec 11 znakow!");
                        }
                    }
                    else
                    {
                        return("pesel musi miec 11 znakow!");
                    }

                    break;

                default:
                    break;
                }
                return(null);
            }
        }
示例#30
0
        private void AssertIsPeselValid(string peselString)
        {
            bool isValid = Pesel.IsValid(peselString);

            Assert.IsTrue(isValid);
        }