public JsonResult VisitorBreakOut(MV_Appointment appointment)
        {
            //Card card = new Card();
            string cardID = string.Empty;

            if (appointment.CardNO != string.Empty)
            {
                int deviceNo = 1;
                cardFactory = new CardFactorys();
                utility     = new Utility();

                // Getting device Information
                //var empInfo = db.Employees.Where(x => x.EmployeeID == appointment.EmployeeID).FirstOrDefault();

                //DAL.db.Appointment appInfo = new DAL.db.Appointment();

                var appInfo = db.Appointments.Where(x => x.AppointmentID == appointment.AppointmentID).FirstOrDefault();
                db.Entry(appInfo).State = EntityState.Detached;


                if (appointment.Status == "B")
                {
                    //var cardInfo = cardFactory.GetFreeCard(deviceNo);
                    appInfo.Status = appointment.Status;
                    result         = cardFactory.UnassignCard(deviceNo, appInfo.CardNO);
                    if (result.isSucess)
                    {
                        unScheduleAppointmentFactory = new UnScheduleAppointmentFactorys();
                        appInfo.BreakOutTime         = DateTime.Now;
                        result = unScheduleAppointmentFactory.SaveAppointment(appInfo);
                        if (result.isSucess)
                        {
                            result.message = "Visitor Checked Out For Break Successful.";
                        }
                    }
                    else
                    {
                        result.message = appInfo.CardNO + " No card not found for break!!!";
                    }
                }
            }
            else
            {
                result.message = "Please Punch Visitor Card";
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }