private async void BtnRegister_Click(object sender, EventArgs e)
        {
            btnRegister.Enabled = false;

            if (this.ValidateChildren())
            {
                var osobaRequest = new Wellness.Model.Requests.OsobaInsertRequest();

                osobaRequest.Ime           = txtIme.Text;
                osobaRequest.Prezime       = txtPrezime.Text;
                osobaRequest.DatumRodenja  = dtpDatumRodenja.Value;
                osobaRequest.Spol          = (cbSpol.SelectedValue.ToString().Substring(0, 1).ToUpper());
                osobaRequest.GradId        = (int)cbMjestoBoravka.SelectedValue;
                osobaRequest.Jmbg          = txtJMBG.Text;
                osobaRequest.Email         = txtEmail.Text;
                osobaRequest.BrojTelefona  = txtBrojTelefona.Text;
                osobaRequest.KorisnickoIme = txtUserName.Text;
                osobaRequest.UlogaId       = (int)cbUloga.SelectedValue;

                Wellness.Model.Osoba  osoba  = null;
                Wellness.Model.Radnik radnik = null;



                if (_id == null)
                {
                    osobaRequest.Password        = txtPassword.Text;
                    osobaRequest.PasswordPotvrda = txtPasswordPotvrda.Text;



                    osoba = await _apiService.Insert <Wellness.Model.Osoba>(osobaRequest);

                    if (osoba.Uloga.Naziv != "Clan")
                    {
                        var radnikRequest = new Wellness.Model.Requests.RadnikInsertRequest()
                        {
                            Satnica = decimal.Parse(txtSatnica.Text),
                            OsobaId = osoba.Id
                        };

                        radnik = await _apiService_Radnik.Insert <Wellness.Model.Radnik>(radnikRequest);


                        if (osoba.Uloga.Naziv == "Trener")
                        {
                            var trenerRequest = new TrenerInsertRequest()
                            {
                                Specializacija = txtSpecijalizacija.Text,
                                RadnikId       = radnik.Id
                            };

                            var trener = await _apiService_Trener.Insert <Model.Trener>(trenerRequest);
                        }
                    }
                    else
                    {
                        var clanInsertRequest = new ClanInsertRequest()
                        {
                            Aktivan           = true,
                            DatumRegistracije = DateTime.Now,
                            OsobaId           = osoba.Id,
                        };

                        //-----------------------------------------------------------------QR Kod

                        var randomStringPostoji = true;
                        while (randomStringPostoji == true)
                        {
                            var randomString      = _qrCodeHelper.GenerateRandomString(15);
                            var clanSearchRequest = new ClanSearchRequest()
                            {
                                QrCodeText = randomString
                            };
                            var clanList = await _apiService_Clan.Get <List <Model.Requests.ClanViewRequest> >(clanSearchRequest);

                            if (clanList.Count == 0)
                            {
                                randomStringPostoji = false;
                            }

                            clanInsertRequest.QrCodeText = randomString;
                            clanInsertRequest.Qrcode     = _qrCodeHelper.GenerateQRCode(randomString);
                        }
                        //-----------------------------------------------------------------QR Kod

                        var clan = await _apiService_Clan.Insert <Wellness.Model.Clan>(clanInsertRequest);
                    }

                    MessageBox.Show("Uspjesno ste dodali novog korisnika", "success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
                else
                {
                    osoba = await _apiService.Update <Wellness.Model.Osoba>(_id, osobaRequest);

                    if (osoba.Uloga.Naziv != "Clan")
                    {
                        var radnikRequest = new Wellness.Model.Requests.RadnikInsertRequest()
                        {
                            Satnica = decimal.Parse(txtSatnica.Text),
                            OsobaId = osoba.Id
                        };

                        var radnikSearchRequest = new RadnikSearchRequest()
                        {
                            OsobaId = radnikRequest.OsobaId
                        };

                        var radnikList = await _apiService_Radnik.Get <List <Wellness.Model.Radnik> >(radnikSearchRequest);

                        radnik = await _apiService_Radnik.Update <Wellness.Model.Radnik>(radnikList[0].Id, radnikRequest);


                        if (osoba.Uloga.Naziv == "Trener")
                        {
                            var trenerRequest = new TrenerInsertRequest()
                            {
                                RadnikId       = radnik.Id,
                                Specializacija = txtSpecijalizacija.Text
                            };

                            var trenerList = await _apiService_Trener.Get <List <Model.Trener> >(new TrenerSearchRequest()
                            {
                                OsobaId = osoba.Id
                            });

                            var trener = _apiService_Trener.Update <Model.Trener>(trenerList[0].Id, trenerRequest);
                        }
                    }


                    MessageBox.Show("Uspjesno ste ažurirali korisnika", "success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }

            btnRegister.Enabled = true;
        }
Beispiel #2
0
        private async void btnSumbit_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                //..
                //MessageBox.Show("Do you want to apply these changes to all events from the same group?","Warning",MessageBoxButtons.)

                //Reading fields from form
                var newEvent = readFields();
                //If event exists we update it
                if (userEventId != null)
                {
                    //We update every event which has same group
                    var search = new EventSearchRequest()
                    {
                        EventGroupId = newEvent.EventGroupId
                    };
                    var events = await apiService.Get <List <Model.Event> >(search);

                    if (events.Count > 0)
                    {
                        foreach (var x in events)
                        {
                            newEvent.EventDate = new DateTime(x.EventDate.Year, x.EventDate.Month, x.EventDate.Day, 0, 0, 0, 0);
                            await apiService.Update <Model.Event>(x.Id, newEvent);
                        }
                    }
                    else
                    {
                        //If there is only one event.
                        await apiService.Update <Model.Event>(userEventId, newEvent);
                    }
                }
                else
                {
                    var unique         = false;
                    var eventGroupCode = "";
                    while (unique != true)
                    {
                        eventGroupCode = QRCodeHelper.GenerateRandomString(32);
                        var search = new EventSearchRequest()
                        {
                            EventGroupId = eventGroupCode
                        };
                        var events = await apiService.Get <List <Model.Event> >(search);

                        if (events.Count == 0)
                        {
                            unique = true;
                        }
                    }
                    //if there are multiple events.
                    if (dates.Count > 0)
                    {
                        foreach (var date in dates)
                        {
                            newEvent.EventDate    = new DateTime(date.Date.Year, date.Date.Month, date.Date.Day, 0, 0, 0, 0);
                            newEvent.EventGroupId = eventGroupCode;
                            await apiService.Insert <Model.Event>(newEvent);
                        }
                    }
                    else
                    {
                        //If there is only one event.
                        newEvent.EventGroupId = eventGroupCode;
                        await apiService.Insert <Model.Event>(newEvent);
                    }
                }
                //message and erro catch needed...
                this.Close();
            }
        }