示例#1
0
        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));
        }
示例#2
0
        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
        }