public IHttpActionResult PutTutor(int id, Tutor tutor) { var checkTutor = db.Tutors.Find(id); if (checkTutor == null) { return(NotFound()); } try { db.tsp_Tutor_Update(id, tutor.GradId, tutor.RadnoStanjeId, tutor.TutorTitulaId, tutor.NazivUstanove, tutor.CijenaCasa, tutor.TutorTumbnail, tutor.TutorSlika, tutor.LozinkaSalt, tutor.LozinkaHash, tutor.Email, tutor.Telefon, tutor.Adresa); } catch (EntityCommandExecutionException ex) { SqlException greska = ex.InnerException as SqlException; if (greska != null) { return(BadRequest(Util.ExceptionHandler.DbUpdateExceptionHandler(greska))); } } var lst = db.ObimStudents.Where(x => x.TutorId == id); if (lst != null) { foreach (var item in lst) { db.ObimStudents.Remove(item); } } foreach (var vrstaSudenta in tutor.TipStudenta) { ObimStudent tipStudenta = new ObimStudent() { TutorId = checkTutor.TutorId, TipStudentaId = vrstaSudenta.TipoviStudentaId }; db.ObimStudents.Add(tipStudenta); } db.SaveChanges(); return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PostTutor(Tutor t) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } KorisnickiNalog kNalog = new KorisnickiNalog() { KorisnickoIme = t.KorisnickoIme, LozinkaSalt = t.LozinkaSalt, LozinkaHash = t.LozinkaHash }; db.KorisnickiNalogs.Add(kNalog); try { db.SaveChanges(); } catch (DbUpdateException ex) { SqlException greska = ex.InnerException.InnerException as SqlException; if (greska != null) { return(BadRequest(Util.ExceptionHandler.DbUpdateExceptionHandler(greska))); } } KontaktInfo kontak = new KontaktInfo() { Email = t.Email, Telefon = t.Telefon, Adresa = t.Adresa }; try { db.KontaktInfoes.Add(kontak); } catch (DbUpdateException ex) { db.KorisnickiNalogs.Remove(kNalog); SqlException greska = ex.InnerException.InnerException as SqlException; if (greska != null) { return(BadRequest(Util.ExceptionHandler.DbUpdateExceptionHandler(greska))); } } Tutor noviTutor = new Tutor() { Ime = t.Ime, Prezime = t.Prezime, DatumDodavanja = DateTime.Today, DatumRodjenja = t.DatumRodjenja, NazivUstanove = t.NazivUstanove, SpolId = t.SpolId, GradId = t.GradId, RadnoStanjeId = t.RadnoStanjeId, TutorTitulaId = t.TutorTitulaId, PodKategorijaId = t.PodKategorijaId, CijenaCasa = t.CijenaCasa, TutorSlika = t.TutorSlika, TutorTumbnail = t.TutorTumbnail, SlikaOdobrenja = t.SlikaOdobrenja, StatusKorisnickoRacunaId = t.StatusKorisnickoRacunaId, KorisnickiNalogId = kNalog.KorisnickiNalogId, KontaktInfoId = kontak.KontaktInfoId }; try { db.Tutors.Add(noviTutor); } catch (DbUpdateException ex) { db.KorisnickiNalogs.Remove(kNalog); db.KontaktInfoes.Remove(kontak); SqlException greska = ex.InnerException.InnerException as SqlException; if (greska != null) { return(BadRequest(Util.ExceptionHandler.DbUpdateExceptionHandler(greska))); } } foreach (var vrstaSudenta in t.TipStudenta) { ObimStudent tipStudenta = new ObimStudent() { TutorId = noviTutor.TutorId, TipStudentaId = vrstaSudenta.TipoviStudentaId }; db.ObimStudents.Add(tipStudenta); } try { db.SaveChanges(); } catch (DbUpdateException ex) { SqlException greska = ex.InnerException.InnerException as SqlException; if (greska != null) { return(BadRequest(Util.ExceptionHandler.DbUpdateExceptionHandler(greska))); } } return(Created("api/Tutor", noviTutor));//koricenje Creted radi neobicnog ponasanja API }