public async Task <IActionResult> CheckIn(CheckInVM model)
        {
            var isCheckInActive = await this.schoolClassService.IsCheckInActive(model.ClassId);

            if (!isCheckInActive)
            {
                TempData[TempDataErrorMessageKey] = "You did not check in succesfully!\n Check in was locked!";
                return(RedirectToAction(nameof(Details), new { id = model.ClassId }));
            }

            var schoolClass = await this.schoolClassService.GetDetailsSchoolClassVM(model.ClassId);

            if (schoolClass.Code != model.EnteredCode)
            {
                var isClassActive = await this.schoolClassService.GetCurrentBlock(model.ClassId) != 0;

                model.IsClassActive = isClassActive;
                ModelState.AddModelError("EnteredCode", "Wrong Code");
                return(View(model));
            }

            int currentBlock = await this.schoolClassService.GetCurrentBlock(model.ClassId);

            await this.attendanceService.CheckIn(model.UserId, model.ClassId, currentBlock);

            TempData[TempDataSuccessMessageKey] = $"Check In for block {model.CurrentBlock} was Succesfull!";
            return(RedirectToAction(nameof(Details), new { id = model.ClassId }));
        }
Esempio n. 2
0
        public CheckInVM CheckTicketStation1(CheckInVM checkInVM)
        {
            var currentEventId = Convert.ToInt32(ConfigurationManager.AppSettings["CurrentEventID"]);

            using (var db = new TagsDataModel())
            {
                var model = (from ticket in db.TICKETED_CHECKINS
                             where ticket.TICKET_NUMBER.Equals(checkInVM.TicketNo.ToString()) && ticket.EVENT_ID == currentEventId
                             select ticket).FirstOrDefault();

                //checking in now. Ticket exists
                if (model != null && model.STATION_1 == false)
                {
                    model.STATION_1 = true;
                    model.STATION_1_CHECKIN_TIME = DateTime.Now;
                    //TODO find logged in userID
                    var user = (from loggedInUser in db.TAGS_LOGIN
                                where loggedInUser.LAST_NAME.ToLower().Equals(User.Identity.Name)
                                select loggedInUser).FirstOrDefault();
                    model.STATION_1_USER_ID = user.USER_ID;

                    checkInVM.IsCheckedIn      = true;
                    checkInVM.TicketNotFound   = false;
                    checkInVM.AlreadyCheckedIn = false;
                }
                //ticket exists.. Already checked in
                else if (model != null && model.STATION_1 == true)
                {
                    checkInVM.IsCheckedIn      = false;
                    checkInVM.TicketNotFound   = false;
                    checkInVM.AlreadyCheckedIn = true;
                }
                //ticket doesn't exist
                else if (model == null)
                {
                    checkInVM.IsCheckedIn      = false;
                    checkInVM.TicketNotFound   = true;
                    checkInVM.AlreadyCheckedIn = false;
                }
                db.SaveChanges();
                return(checkInVM);
            }
        }
        public async Task <IActionResult> CheckIn(string userId, int classId)
        {
            var schoolClass = await this.schoolClassService.GetDetailsSchoolClassVM(classId);

            var isClassActive = await this.schoolClassService.GetCurrentBlock(classId) != 0;

            var model = new CheckInVM
            {
                SubjectName       = schoolClass.Subject.Name,
                EnteredCode       = schoolClass.EnteredCode,
                CodeGeneratedTime = schoolClass.CodeGeneratedTime,
                Date          = schoolClass.Date,
                Time          = schoolClass.Time,
                TimeLeft      = schoolClass.TimeLeft,
                ClassId       = classId,
                IsClassActive = isClassActive,
                CurrentBlock  = await this.schoolClassService.GetCurrentBlock(classId)
            };

            return(View(model));
        }
Esempio n. 4
0
        public CheckInVM RevertCheckIn(CheckInVM checkInVM)
        {
            var currentEventId = Convert.ToInt32(ConfigurationManager.AppSettings["CurrentEventID"]);

            using (var db = new TagsDataModel())
            {
                var model = (from ticket in db.TICKETED_CHECKINS
                             where ticket.TICKET_NUMBER.Equals(checkInVM.TicketNo.ToString()) && ticket.EVENT_ID == currentEventId
                             select ticket).FirstOrDefault();

                //checking in now. Ticket exists
                if (model != null && model.STATION_1 == false)
                {
                    checkInVM.IsCheckedIn      = true;
                    checkInVM.TicketNotFound   = false;
                    checkInVM.AlreadyCheckedIn = false;
                }
                //ticket exists.. Already checked in,reverting now
                else if (model != null && model.STATION_1 == true)
                {
                    model.STATION_1 = false;
                    model.STATION_1_CHECKIN_TIME = null;

                    checkInVM.IsCheckedIn      = false;
                    checkInVM.TicketNotFound   = false;
                    checkInVM.AlreadyCheckedIn = true;
                }
                //ticket doesn't exist
                else if (model == null)
                {
                    checkInVM.IsCheckedIn      = false;
                    checkInVM.TicketNotFound   = true;
                    checkInVM.AlreadyCheckedIn = false;
                }
                db.SaveChanges();
                return(checkInVM);
            }
        }
        public ActionResult CreateRegularCheckIn(CheckInVM checkInVM, Vehicle vehicle, Visitor visitor)
        {
            if (checkInVM.VisitorTypeID == 1)
            {
                VisitMain visit = new VisitMain()
                {
                    ConeNumber        = checkInVM.ConeNumber,
                    ConeColorID       = checkInVM.ConeColorID,
                    VisitorTypeID     = checkInVM.VisitorTypeID,
                    CheckInMainGateID = checkInVM.GateID,
                    CheckInMainTime   = DateTime.Now,
                    CreatedOn         = DateTime.Now,
                    ModifiedOn        = DateTime.Now,
                    CreatedBy         = 1,
                    ModifiedBy        = 1,
                    CheckInMainUserID = 1, // CheckInMainUserID is user's id who is doing checkin
                    SiteID            = 1  // SiteID is SiteID from where visitor is doing checkin
                };
                db.VisitMain.Add(visit);
                db.SaveChanges();
            }

            if (checkInVM.VisitorTypeID == 2)
            {
                VisitMain visit = new VisitMain()
                {
                    CheckInMainTime   = DateTime.Now,
                    Location          = checkInVM.Location,
                    PassNumber        = checkInVM.PassNo,
                    Organization      = checkInVM.Organization,
                    CheckInMainGateID = checkInVM.GateID,
                    VisitorTypeID     = checkInVM.VisitorTypeID,
                    CreatedOn         = DateTime.Now,
                    ModifiedOn        = DateTime.Now,
                    CreatedBy         = 1,
                    ModifiedBy        = 1,
                    CheckInMainUserID = 1, // CheckInMainUserID is user's id who is doing checkin
                    SiteID            = 1  // SiteID is SiteID from where visitor is doing checkin
                };
                db.VisitMain.Add(visit);
                db.SaveChanges();
            }

            if (checkInVM.VisitorTypeID == 3)
            {
                VisitMain visit = new VisitMain()
                {
                    CheckInMainTime      = DateTime.Now,
                    UnitNo               = checkInVM.UnitNo,
                    SectionSector        = checkInVM.SectionSector,
                    EmergencyVehicleType = checkInVM.EmergencyVehicleType,
                    CheckInMainGateID    = checkInVM.GateID,
                    VisitorTypeID        = checkInVM.VisitorTypeID,
                    CreatedOn            = DateTime.Now,
                    ModifiedOn           = DateTime.Now,
                    CreatedBy            = 1,
                    ModifiedBy           = 1,
                    CheckInMainUserID    = 1, // CheckInMainUserID is user's id who is doing checkin
                    SiteID               = 1  // SiteID is SiteID from where visitor is doing checkin
                };
                db.VisitMain.Add(visit);
                db.SaveChanges();
            }

            if (checkInVM.VisitorTypeID == 4)
            {
                if (vehicle.VehicleID == 0)
                {
                    vehicle.CreatedOn  = DateTime.Now;
                    vehicle.ModifiedOn = DateTime.Now;
                    vehicle.CreatedBy  = 1;
                    vehicle.ModifiedBy = 1;
                    //vehicle.VehicleColorID = checkInVM.ColorID;
                    //vehicle.VehicleStateID = checkInVM.StateID;
                    db.Vehicle.Add(vehicle);
                    db.SaveChanges();
                }

                VisitMain visitMain = new VisitMain()
                {
                    VehicleID            = vehicle.VehicleID,
                    VisitorTypeID        = checkInVM.VisitorTypeID,
                    CheckInMainGateID    = checkInVM.GateID,
                    CheckInMainTime      = DateTime.Now,
                    PlacardNo            = checkInVM.PlacardNo,
                    VehicleSearchConsent = checkInVM.VehicleSearchConsent,
                    VehicleSearchResult  = checkInVM.VehicleSearchResult,
                    CreatedOn            = DateTime.Now,
                    ModifiedOn           = DateTime.Now,
                    CreatedBy            = 1,
                    ModifiedBy           = 1,
                    CheckInMainUserID    = 1, // CheckInMainUserID is user's id who is doing checkin
                    SiteID = 1                // SiteID is SiteID from where visitor is doing checkin
                };
                db.VisitMain.Add(visitMain);
                db.SaveChanges();

                VisitDetail visit = new VisitDetail()
                {
                    VisitorID        = visitor.VisitorID,
                    CheckInSignature = checkInVM.CheckInSignature,
                    CheckiInMainID   = visitMain.VisitMainID,
                    ProofOfInsurance = checkInVM.ProofOfInsurance,
                    isManualCheckIn  = checkInVM.isManualCheckIn,
                    isDriverCheckOut = checkInVM.isDriverCheckOut,
                    isManualCheckOut = checkInVM.isManualCheckOut,
                    DestinationID    = checkInVM.DestinationID,
                    isDriverCheckIn  = checkInVM.isDriverCheckIn,
                    OrientationVisit = checkInVM.OrientationVisit,
                    CheckInTime      = DateTime.UtcNow,
                    Notes            = checkInVM.Notes,
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    CreatedBy        = 1,
                    ModifiedBy       = 1,
                };
                db.VisitDetail.Add(visit);
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }