示例#1
0
 public async Task <bool> CurrentUserIsInRoleAsync(RoleType role)
 {
     return(GetClaim("roles").ToLower().Contains(role.ToDescriptionString().ToLower()));
 }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateInputs())
            {
                RoleType roleChecked = RoleType.Doktor;
                if (rbtnRadnikPrijem.Checked)
                {
                    roleChecked = RoleType.RadnikPrijem;
                }
                else if (rbtnAdministrator.Checked)
                {
                    roleChecked = RoleType.Administrator;
                }

                var korisnickiNalogUpsertDto = new KorisnickiNalogUpsertDto
                {
                    Username        = txtUsername.Text,
                    Password        = txtPassword.Text,
                    ConfirmPassword = txtConfirmPassword.Text,
                    RoleType        = roleChecked.ToDescriptionString()
                };

                if (roleChecked == RoleType.Administrator)
                {
                    _apiService.ChangeRoute(Routes.KorisniciRoute);
                    var korisnickiNalogInsertResult =
                        await _apiService.Post <KorisnickiNalogDtoLL>(korisnickiNalogUpsertDto);

                    if (korisnickiNalogInsertResult.Succeeded)
                    {
                        dlgSuccess.ShowDialog();
                    }
                    return;
                }

                var licniPodaciUpsertDto = new LicniPodaciUpsertDto
                {
                    Ime          = txtIme.Text,
                    Prezime      = txtPrezime.Text,
                    Adresa       = txtAdresa.Text,
                    JMBG         = txtJmbg.Text,
                    BrojTelefona = txtBrojTelefona.Text,
                    EmailAddress = txtEmail.Text,
                    GradId       = int.Parse(cmbGradovi.SelectedValue.ToString()),
                    Pol          = cmbPolovi.SelectedIndex == 1 ? 'Z' : 'M'
                };

                bool SuccededInsert = true;
                if (rbtnDoktor.Checked)
                {
                    _apiService.ChangeRoute(Routes.DoktoriRoute);
                    var doktorUpsertDto = new DoktorUpsertDto
                    {
                        KorisnickiNalog        = korisnickiNalogUpsertDto,
                        LicniPodaci            = licniPodaciUpsertDto,
                        NaucnaOblastId         = int.Parse(cmbNaucneOblasti.SelectedValue.ToString()),
                        StacionarnoOdeljenjeId = int.Parse(cmbStacionarnaOdeljenja.SelectedValue.ToString())
                    };

                    var doktorInsertResult = await _apiService.Post <DoktorDtoLL>(doktorUpsertDto);

                    SuccededInsert = doktorInsertResult.Succeeded;
                }
                else
                {
                    var radnikUpsertDto = new RadnikPrijemUpsertDto
                    {
                        KorisnickiNalog        = korisnickiNalogUpsertDto,
                        LicniPodaci            = licniPodaciUpsertDto,
                        StacionarnoOdeljenjeId = int.Parse(cmbStacionarnaOdeljenja.SelectedValue.ToString())
                    };
                    if (rbtnMedTehnicar.Checked)
                    {
                        _apiService.ChangeRoute(Routes.MedicinskiTehnicariRoute);

                        var medTehnicarResult = await _apiService.Post <RadnikPrijemDtoLL>(radnikUpsertDto);

                        SuccededInsert = medTehnicarResult.Succeeded;
                    }
                    else if (rbtnRadnikPrijem.Checked)
                    {
                        _apiService.ChangeRoute(Routes.RadniciPrijemRoute);
                        var radnikPrijemResult = await _apiService.Post <RadnikPrijemDtoLL>(radnikUpsertDto);

                        SuccededInsert = radnikPrijemResult.Succeeded;
                    }
                }

                if (SuccededInsert)
                {
                    dlgSuccess.ShowDialog();
                }

                Close();
                frmStartMenuAdministrator.Instance.btnUsers.PerformClick();
                Dispose();
            }
        }