public async Task <KlijentDataDisplayModel> UpdateKlijentData(int klijentId, KlijentDataUpdateModel model) { try { var klijent = _context.Klijent .Include(k => k.ApplicationUser) .ThenInclude(a => a.Opcina) .Include(k => k.ClanarineKlijenta) .Where(k => k.Id == klijentId) .FirstOrDefault(); if (model.Email != null) { klijent.ApplicationUser.Email = model.Email; } if (model.Slika != null && model.Slika.Length > 0) { klijent.ApplicationUser.Slika = model.Slika; } if (model.Password != null) { klijent.ApplicationUser.PasswordHash = UserAuthHelpers.GenerateHash(klijent.ApplicationUser.PasswordSalt, model.Password); } if (model.OpcinaId != null && model.OpcinaId != klijent.ApplicationUser.OpcinaId) { klijent.ApplicationUser.OpcinaId = (int)model.OpcinaId; } await _context.SaveChangesAsync(); return(MapKlijentToDataDisplayModel(klijent)); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <ActionResult> UpdateKlijentData([FromBody] KlijentDataUpdateModel model) { try { if (!ModelState.IsValid) { return(BadRequest(model)); } return(Ok(await _klijentDataService.UpdateKlijentData(UserResolver.GetKlijentId(HttpContext.User), model))); } catch (Exception ex) { return(BadRequest(new ApiException(ex.Message, System.Net.HttpStatusCode.BadRequest))); } }
public ProfilViewModel() { AzurirajCommand = new Command(async() => { try { if (FormNotValid()) { return; } var noviKorisnik = new KlijentDataUpdateModel { Email = Email, OpcinaId = Opcina.Id }; if (!string.IsNullOrEmpty(Lozinka)) { noviKorisnik.Password = Lozinka; } if (Slika != null && Slika.Length > 0) { noviKorisnik.Slika = Slika; } var updatedKorisnik = await _korisnikService.Insert <KlijentDataDisplayModel>(noviKorisnik); if (updatedKorisnik != null) { await Application.Current.MainPage.DisplayAlert("", "Ažuriranje podataka uspješno.", "OK"); if (!string.IsNullOrEmpty(noviKorisnik.Password)) { //Promijenjena je lozinka pa je stavi i u ApiService ApiService.Password = noviKorisnik.Password; } } else { throw new Exception("Došlo je do greške."); } } catch (Exception ex) { await Application.Current.MainPage.DisplayAlert("Greška", ex.Message, "OK"); } }); DodajSlikuCommand = new Command(async() => { try { if (await AddImage()) { SlikaDodataLabel = true; } } catch {} }); GetOpcinaData = new Command(async() => { await GetOpcine(); }); GetOpcinaData.Execute(null); }