コード例 #1
0
        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);
            }
        }
コード例 #2
0
 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)));
     }
 }
コード例 #3
0
 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);
 }