public async Task <IActionResult> CheckIn([FromBody] CheckInDTO checkInDTO) { if (!this.ModelState.IsValid) { return(BadRequest()); } try { var loginDto = _mapper.Map <LoginDTO>(checkInDTO); var userInfo = await _azureBusiness.Login(loginDto).ConfigureAwait(false); if (userInfo == null) { return(Unauthorized()); } var checkInResult = await _trackerBusiness.CheckInAsync(checkInDTO, userInfo).ConfigureAwait(false); if (!checkInResult) { return(BadRequest(new { Message = "Unable to checkin device." })); } return(Ok(userInfo)); } catch (Exception ex) { _logger.LogError(ex.Message + ex.StackTrace); return(StatusCode((int)HttpStatusCode.InternalServerError)); } }
private async Task CheckIn() { // Arrange var client = _factory.CreateClient(); var checkInUrl = "/api/Tracker/CheckIn"; // Act var checkIn = new CheckInDTO() { Id = "123456789", Email = Credential.UserName, Password = Credential.Password, Remarks = "testing" }; var json = JsonConvert.SerializeObject(checkIn); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(checkInUrl, content).ConfigureAwait(false); // Assert response.StatusCode.Should().Be(HttpStatusCode.OK); var responseContent = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var userInfo = JsonConvert.DeserializeObject <UserInfo>(responseContent); userInfo.Should().NotBeNull(); }
public async Task <IActionResult> AdPutCheckInModel([FromBody] CheckInDTO model) { var user = await _userManager.FindByNameAsync(model.UserName); string userId = user.Id; var checkIn = new CheckInModel { ID = model.ID, Day = model.Day, FirstEntry = model.FirstEntry, SecondEntry = model.SecondEntry, OwnerId = userId }; _context.Entry(checkIn).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CheckInModelExists(model.ID)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IHttpActionResult> AddNewCheckIn(long id, CheckInDTO checkInDto) { Patient patient = await db.Patients.FirstOrDefaultAsync(x => x.Id == id); CheckIn checkIn = new CheckIn(); checkIn.IsAppointment = checkInDto.IsAppointment; checkIn.Arrival = DateTime.Now; checkIn.AppointedTo = checkInDto.AppointedTo ?? checkIn.Arrival; checkIn.Description = checkInDto.Description; if (patient.CheckIns == null) { patient.CheckIns = new List <CheckIn>() { checkIn } } ; else { patient.CheckIns.Add(checkIn); } await db.SaveChangesAsync(); return(Ok(Mapper.Map <CheckInDTO>(checkIn))); }
public static void AddCheckIn(CheckInDTO checkIn) { using (var context = new HotelContext()) { context.CheckIns.Add(Mapper.Map <CheckInDTO, CheckIn>(checkIn)); context.SaveChanges(); } }
public void Update(CheckInDTO checkInDTO, DateTime dateStamp) { if (checkInDTO == null) { throw new ArgumentNullException("CheckIn model is null."); } tblT_CheckIn checkIn = checkInFactory.CreateFromDbAndUpdateFromDTO(checkInDTO, dateStamp); }
public ActionResult CheckIn(string rawBarcode) { EventQuery eq = new EventQuery(); ParticipantQuery pq = new ParticipantQuery(); ParticipantDTO pDTO = new ParticipantDTO(); CheckInQuery ciq = new CheckInQuery(); CheckInDTO ciDTO = new CheckInDTO(); CheckInRules ciRules = new CheckInRules(); BarcodeQuery bcq = new BarcodeQuery(); bool isValidBarcode = bcq.isValidBarcode(rawBarcode); int CheckInTimeCode = 0; bool isDuplicate = false; string colorCode = ""; if (isValidBarcode) { pDTO = pq.FindParticipantByBarcode(rawBarcode); CheckInTimeCode = ciRules.IsValidCheckInTime(eq.QueryEventTimes(pDTO.eventId)); isDuplicate = ciRules.IsDuplicateCheckIn(ciq.QueryCheckInTimes(rawBarcode)); } if (ModelState.IsValid && CheckInTimeCode == 0 && isDuplicate == false && isValidBarcode) { ciDTO.BarcodeId = bcq.GetBarcodeId(rawBarcode); ciq.CreateCheckIn(ciDTO); colorCode = "green"; return(Json(new { errorColor = colorCode, error = "Checkin is Successful!" })); } string errorMessage = ""; if (CheckInTimeCode == -1) { errorMessage += "The checkin period has not started"; colorCode = "red"; } else if (CheckInTimeCode == 1) { errorMessage += "The checkin period has ended"; colorCode = "red"; } else if (isDuplicate == true) { errorMessage += "This participant has already checked in"; colorCode = "yellow"; } else if (!isValidBarcode) { errorMessage += "This is not a valid barcode"; colorCode = "red"; } return(Json(new { errorColor = colorCode, error = errorMessage })); }
public tblT_CheckIn Insert(CheckInDTO checkInDTO, DateTime dateStamp) { if (checkInDTO == null) { throw new ArgumentNullException("CheckIn model is null."); } tblT_CheckIn checkIn = checkInFactory.CreateFromDTO(checkInDTO, dateStamp); return(Db.tblT_CheckIn.Add(checkIn)); }
/// <summary> /// Used to convert database checkin object to a DTO /// </summary> /// <param name="checkIn">The check in to be converted</param> /// <returns>The dto version of the check in</returns> public CheckInDTO DAO2DTO(Checkinhistory checkIn) { CheckInDTO dto = new CheckInDTO() { CheckInId = checkIn.CheckInId, Nickname = checkIn.Student.NickName, UnitId = checkIn.UnitId, StudentId = checkIn.StudentId.Value }; return(dto); }
private CheckInEntryModel GetCreateStateModel() { CheckInEntryFormData formData = new CheckInEntryFormData(); List <Control> formControls = CreateFormControls(0); CheckInDTO checkInDTO = new CheckInDTO(); return(new CheckInEntryModel() { FormData = formData, FormControls = formControls, Model = checkInDTO, }); }
private CheckInEntryModel GetUpdateStateModel(int checkInPK) { CheckInEntryFormData formData = new CheckInEntryFormData(); List <Control> formControls = CreateFormControls(checkInPK); CheckInDTO checkInDTO = checkInQuery.GetByPrimaryKey(checkInPK); if (checkInDTO == null) { throw new KairosException($"Record with primary key '{checkInDTO.CheckIn_PK}' is not found."); } return(new CheckInEntryModel() { FormData = formData, FormControls = formControls, Model = checkInDTO, }); }
public void CreateCheckIn(CheckInDTO checkInDTO) { string userId = HttpContext.Current.User.Identity.GetUserId(); ApplicationUser user = db.Users.Find(userId); Barcodes barcode = db.Barcodes.Find(checkInDTO.BarcodeId); CheckIns ci = new CheckIns(); ci.CheckinTime = DateTime.Now; ci.CreatedDate = DateTime.Now; ci.CreatedBy = user; ci.IsActive = true; db.CheckIns.Add(ci); barcode.CheckIns = new List <CheckIns>(); barcode.CheckIns.Add(ci); db.SaveChanges(); }
public async Task <ActionResult <CheckInModel> > AdPostCheckInModel(CheckInDTO model) { var user = await _userManager.FindByNameAsync(model.UserName); string userId = user.Id; var checkIn = new CheckInModel { Day = model.Day, FirstEntry = model.FirstEntry, SecondEntry = model.SecondEntry, OwnerId = userId }; _context.CheckIn.Add(checkIn); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCheckInModel", new { id = checkIn.ID }, checkIn)); }
public CheckInDTO GetByPrimaryKey(int checkInPrimaryKey) { CheckInDTO record = GetQuery().FirstOrDefault(checkIn => checkIn.CheckIn_PK == checkInPrimaryKey); if (record != null) { var sowResult = new SOWResultQuery(Db).GetByCheckinFK(checkInPrimaryKey); if (sowResult != null) { record.SOWResult = sowResult; } var sowTrackResults = new SOWTrackResultQuery(Db).GetByCheckinFK(checkInPrimaryKey); if (sowTrackResults != null) { record.SOWTrackResults = sowTrackResults; } } return(record); }
/// <summary> /// Checked in a device /// </summary> /// <param name="checkIn">Contains the check in information</param> /// <returns>Returns true if the device is succesfully checked in, otherwise false</returns> public async Task <bool> CheckInAsync(CheckInDTO checkIn, UserInfo userInfo) { var device = await unitOfWork.DeviceRepository.FindByIdAsync(checkIn.Id); if (device == null || device.IsDeleted) { return(false); } if (!string.IsNullOrWhiteSpace(device.CurrentUser)) //device is currently in use. { var logOut = new Log { LogTime = DateTime.Now, LogType = (int)LogType.CheckOut, UserName = device.CurrentUser, DeviceId = device.Id }; await unitOfWork.LogRepository.AddAsync(logOut).ConfigureAwait(false); } device.CurrentUser = userInfo.Name; device.Remarks = checkIn.Remarks; await unitOfWork.DeviceRepository.UpdateAsync(device.Id, device).ConfigureAwait(false); var log = new Log { LogTime = DateTime.Now, LogType = (int)LogType.CheckIn, UserName = userInfo.Name, DeviceId = device.Id }; await unitOfWork.LogRepository.AddAsync(log).ConfigureAwait(false); await unitOfWork.CompleteAsync().ConfigureAwait(false); return(true); }
public SaveResult <CheckInEntryModel> Save(CheckInDTO checkInDTO, DateTime dateStamp) { ModelValidationResult validationResult = checkInValidator.Validate(checkInDTO); bool success = false; CheckInEntryModel model = null; if (validationResult.IsValid) { success = true; Update(checkInDTO, dateStamp); Db.SaveChanges(); model = checkInEntryDataProvider.Get(checkInDTO.CheckIn_PK); } return(new SaveResult <CheckInEntryModel> { Success = success, Message = validationResult.IsValid ? "Data successfully updated." : "Validation error occured.", Model = model, ValidationResult = validationResult }); }
public ActionResult SearchCheckIn(JQueryDataTableRequest jqueryTableRequest, string episodeId, string metricId, string teamId, string playerId) { if (jqueryTableRequest != null) { GetAllDTO all = new GetAllDTO(); List <RunEngineDTO> runners = new List <RunEngineDTO>(); if (playerId != "empty") { RunEngineDTO runner = RunEngineService.Instance.GetByEpisodeIdAndPlayerId(episodeId, playerId); runners.Add(runner); } else if (teamId != "empty") { runners = GetRunsByTeamIdRecursive(teamId); } else { all = TeamEngineService.Instance.FindByEpisodeId(episodeId); all.List.team = all.List.team.OrderBy(x => x.Nick).ToList(); List <string> subTeamsNull = all.List.team.Where(x => x.SubOfTeamId == null).Select(x => x.Id).ToList(); List <TeamEngineDTO> teams = new List <TeamEngineDTO>(); foreach (string subTeamNull in subTeamsNull) { teams.AddRange(OrganizeHierarchy(all.List.team, subTeamNull)); } foreach (TeamEngineDTO team in teams) { runners.AddRange(GetRunsByTeamIdRecursive(team.Id)); } } MetricEngineDTO metric = MetricEngineService.Instance.GetById(metricId); List <LocationDTO> locations = MetricEngineService.Instance.MapPointsByRunsAndMetric(runners, metric); List <CheckInDTO> checkIns = new List <CheckInDTO>(); foreach (LocationDTO location in locations) { CheckInDTO ci = new CheckInDTO(); DateTime date = new DateTime(((location.Date - 10800000) * 10000) + 621355968000000000l); ci.Date = date.ToString("dd'/'MM'/'yyyy HH':'mm':'ss"); PlayerEngineDTO player = PlayerEngineService.Instance.GetById(location.PlayerId); ci.PlayerName = player.Nick; ci.Description = location.Description ?? "Check-in"; ci.Place = location.Place; checkIns.Add(ci); } JQueryDataTableResponse response = new JQueryDataTableResponse() { Draw = jqueryTableRequest.Draw, RecordsTotal = locations.Count, RecordsFiltered = locations.Count, Data = checkIns.OrderByDescending(r => DateTime.Parse(r.Date)).Select(r => new string[] { r.Date, r.PlayerName, r.Description, r.Place }).ToArray() }; return(new DataContractResult() { Data = response, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } return(Json(null, JsonRequestBehavior.AllowGet)); }