public IHttpActionResult PutVisit(int id, VisitContract visit) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != visit.ID) { return(BadRequest()); } db.Entry(visit.ToInternal()).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!VisitExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PostVisit(VisitContract visit) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Visit temp = visit.ToInternal(); db.ResidentSet.Attach(temp.Resident); db.GuardSet.Attach(temp.Guard); db.DormitorySet.Attach(temp.Dormitory); db.GuestSet.Attach(temp.Guest); db.VisitSet.Add(temp); try { db.SaveChanges(); } catch (DbUpdateException) { if (VisitExists(visit.ID)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = visit.ID }, visit)); }
public IHttpActionResult GetVisit(int id) { VisitContract visit = db.VisitSet.Find(id).ToContract(); if (visit == null) { return(NotFound()); } return(Ok(visit)); }
public IHttpActionResult DeleteVisit(int id) { Visit temp = db.VisitSet.Find(id); VisitContract visit = temp.ToContract(); if (visit == null) { return(NotFound()); } db.VisitSet.Remove(temp); db.SaveChanges(); return(Ok(visit)); }
public static VisitContract ToContract(this VisitInternal entity) { if (entity == null) { return(null); } var visit = new VisitContract { ID = entity.ID, VisitRegDateTime = entity.VisitRegDateTime, IsOver = entity.IsOver, VisitEndDateTime = entity.VisitEndDateTime, ResidentId = entity.Resident.PersonalCode, GuardId = entity.Guard.PersonalCode, DormitoryId = entity.Dormitory.ID, GuestId = entity.Guest.PersonalCode, IsConfirmed = entity.IsConfirmed }; return(visit); }
public static VisitInternal ToInternal(this VisitContract entity) { if (entity == null) { return(null); } ResidentInternal visitResident = new ResidentInternal(); GuardInternal visitGuard = new GuardInternal(); DormitoryInternal visitDormitory = new DormitoryInternal(); GuestInternal visitGuest = new GuestInternal(); using (MainDbModelContainer1 db = new MainDbModelContainer1()) { visitResident = db.ResidentSet.Find(entity.ResidentId); visitGuard = db.GuardSet.Find(entity.GuardId); visitDormitory = db.DormitorySet.Find(entity.DormitoryId); visitGuest = db.GuestSet.Find(entity.GuestId); } var visit = new VisitInternal { ID = entity.ID, VisitRegDateTime = entity.VisitRegDateTime, IsOver = entity.IsOver, VisitEndDateTime = entity.VisitEndDateTime, ResidentPersonalCode = visitResident.PersonalCode, GuardPersonalCode = visitGuard.PersonalCode, DormitoryID = visitDormitory.ID, Guest_PersonalCode = visitGuest.PersonalCode, IsConfirmed = entity.IsConfirmed, Resident = visitResident, Guard = visitGuard, Dormitory = visitDormitory, Guest = visitGuest }; return(visit); }