コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        public IHttpActionResult GetVisit(int id)
        {
            VisitContract visit = db.VisitSet.Find(id).ToContract();

            if (visit == null)
            {
                return(NotFound());
            }

            return(Ok(visit));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
ファイル: Mappers.cs プロジェクト: KentSoft-KTUdev/KTUnited
        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);
        }
コード例 #6
0
ファイル: Mappers.cs プロジェクト: KentSoft-KTUdev/KTUnited
        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);
        }