public async Task <CheckInResult> RegisterCheckInAsync(string email, string info, DateTime utcDateTime, bool location, bool endDay) { var user = await _userManager.FindByEmailAsync(email); if (user == null) { return(new CheckInResult { Success = false, Errors = new string[] { "User email does not exits" } }); } var checkIns = await _checkinManager.FindByUserEmailAndDateAsync(email, utcDateTime); var alreadyEnded = checkIns.Any(x => x.EndDay); if (alreadyEnded) { return(new CheckInResult { Errors = new[] { "Already finished current working day" } }); } if ((checkIns.Count() + 1) % 2 != 0 && endDay) { return(new CheckInResult { Errors = new[] { "Cannot end your day, previous check ins are missing" } }); } var insert = new CheckInRecord { User = user, Info = info, UtcDateTime = utcDateTime, Location = location, EndDay = endDay }; bool added = await _checkinManager.AddRecord(insert); if (added) { return(new CheckInResult { Success = true, Id = insert.Id, Info = info, UtcDateTime = utcDateTime, EmailOwner = email, Location = location, EndDay = endDay }); } return(new CheckInResult { Success = false }); }
public async Task <bool> AddRecord(CheckInRecord record) { _context.Add(record); var additions = await _context.SaveChangesAsync(); return(additions > 0); }
public bool IsIssueValid(CheckInRecord checkInRecord, string barcode) { var dbrecord = GetCheckInRecord(barcode); if (dbrecord.CheckInDate == null || dbrecord.CheckInDate == default(DateTime)) { return(false); } return(true); }
public JsonResult AddCheckInRecords(CheckInRecord addCheckIn, List <string> Barcodes) { var success = true; StringBuilder message = new StringBuilder(string.Empty); if (addCheckIn.IssueDate == default(DateTime)) { foreach (var item in Barcodes) { if (!bookRepository.IsBarcodeValid(item)) { message.AppendLine($"Book with barcode:{item} doesn't exist."); message.AppendLine(); } else if (!checkInRepository.IsCheckInValid(addCheckIn, item)) { message.AppendLine($"Book with barcode:{item} is already checked in or never issued."); message.AppendLine(); } else { var checkIn = checkInRepository.GetCheckInRecord(item); checkIn.CheckInDate = addCheckIn.CheckInDate; checkInRepository.Update <CheckInRecord>("CheckInRecords", checkIn); } } } else { addCheckIn.Fairy_Id = addCheckIn.Fairy.Id; foreach (var item in Barcodes) { if (!bookRepository.IsBarcodeValid(item)) { message.AppendLine($"Book with barcode:{item} doesn't exist."); message.AppendLine(); } else if (!checkInRepository.IsIssueValid(addCheckIn, item)) { message.AppendLine($"Book with barcode:{item} is not checked in. So, unable to issue."); message.AppendLine(); } else { addCheckIn.Book_Id = bookRepository.GetBookId(item); checkInRepository.Create <CheckInRecord>("CheckInRecords", addCheckIn); } } } return(Json(new { Success = success, Message = message.ToString() })); }
// POST: odata/CheckInRecords public IHttpActionResult Post(CheckInRecord checkInRecord) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.CheckInRecords.Add(checkInRecord); db.SaveChanges(); return(Created(checkInRecord)); }
public bool IsCheckInValid(CheckInRecord checkInRecord, string barcode) { var dbrecord = GetCheckInRecord(barcode); if (dbrecord == null) { return(false); } if (dbrecord.CheckInDate != null && dbrecord.CheckInDate != default(DateTime)) { return(false); } return(true); }
// DELETE: odata/CheckInRecords(5) public IHttpActionResult Delete([FromODataUri] int key) { CheckInRecord checkInRecord = db.CheckInRecords.Find(key); if (checkInRecord == null) { return(NotFound()); } db.CheckInRecords.Remove(checkInRecord); db.SaveChanges(); return(StatusCode(HttpStatusCode.NoContent)); }
//[EnableCors("any")] //设置跨域处理的 代理 public IEnumerable <CheckInRecord> Get() { DataSet ds = MysqlHelper.Query(_ConnectionStr, "select * from checkinrecords ;"); CheckInRecord[] ts = new CheckInRecord[ds.Tables[0].Rows.Count]; int idx = 0; foreach (DataRow dr in ds.Tables[0].Rows) { ts[idx] = new CheckInRecord(); ts[idx].ID = idx;// (int)dr["ID"]; ts[idx].StudentSession = (string)dr["StudentSession"]; ts[idx].CheckInSession = (string)dr["CheckInSession"]; ts[idx].CheckTime = ((DateTime)dr["CheckTime"]).ToString("G"); //ts[idx].Description = (string)dr["Description"]; idx++; } return(ts); }
public IHttpActionResult Patch([FromODataUri] int key, Delta <CheckInRecord> patch) { Validate(patch.GetEntity()); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } CheckInRecord checkInRecord = db.CheckInRecords.Find(key); if (checkInRecord == null) { return(NotFound()); } patch.Patch(checkInRecord); try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CheckInRecordExists(key)) { return(NotFound()); } else { throw; } } return(Updated(checkInRecord)); }
public void CheckInBooks(CheckInRecord addCheckIn, List <string> Barcodes) { foreach (var item in Barcodes) { } }