public IActionResult Create([FromBody] Users user) { if (user == null) { return(BadRequest()); } user.Id = AdoHelper.GetNextId("Users", _connString); _context.Users.Add(user); _context.SaveChanges(); return(CreatedAtRoute("GetById", new { id = user.Id }, user)); }
public IActionResult Create([FromBody] Enrollments enrollment) { if (enrollment == null) { return(BadRequest()); } enrollment.Id = AdoHelper.GetNextId("Enrollments", _connString); _context.Enrollments.Add(enrollment); _context.SaveChanges(); return(CreatedAtRoute("GetEnrollment", new { id = enrollment.Id }, enrollment)); }
public string Get(int id) { var courceAssignment = _context.CoursesAssignments.SingleOrDefault(x => x.Id == id); if (courceAssignment != null) { // Try create new lecture (One per day && courseAssignmentId) var now = DateTime.Now; var today = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0); int?lectureLogId = null; var existingLecture = _context.LecturesLog.Where(x => x.CourseAssignmentId == id && x.Date == today); if (existingLecture.Count() == 0) { try { var newLecture = new LecturesLog(); newLecture.Id = AdoHelper.GetNextId("LecturesLog", _connString); newLecture.CourseAssignmentId = id; newLecture.Date = today; _context.LecturesLog.Add(newLecture); _context.SaveChanges(); lectureLogId = newLecture.Id; } catch { return("Error"); } } else { lectureLogId = existingLecture.FirstOrDefault().Id; } // Create QR code var data = new QrCodeData() { CourseAssignmentId = id, LectureLogId = lectureLogId, CourseId = courceAssignment.CourseId, AcademicTermId = courceAssignment.AcademicTermId, Date = DateTime.Now.ToString("yyyy-MM-dd"), SessionStartTimestamp = DateTime.Now.Ticks }; QRCodeGenerator qrGenerator = new QRCodeGenerator(); QRCodeData qrCodeData = qrGenerator.CreateQrCode(Newtonsoft.Json.JsonConvert.SerializeObject(data), QRCodeGenerator.ECCLevel.Q); Base64QRCode qrCode = new Base64QRCode(qrCodeData); string qrCodeImageAsBase64 = qrCode.GetGraphic(20); return(qrCodeImageAsBase64); } return("Error"); }
public IActionResult Create([FromBody] AttendanceRegistrationData data) { var dataValidation = LogHelper.ValidateRegistrationData(data, this._context, this._configuration); if (data == null) { return(BadRequest()); } else if (!dataValidation.valid) { if (!string.IsNullOrWhiteSpace(dataValidation.error)) { return(Content($"Error: {dataValidation.error}")); } return(Content("Error: Invalid data")); } data.Attendance.Longitude = data.GeoLon; data.Attendance.Latitude = data.GeoLat; data.Attendance.Timestamp = data.SessionStartTimestamp; // Remove existing log in same date var existingLogs = LogHelper.GetDuplicatedLog(data.Attendance, _context); if (existingLogs.Count() > 0) { _context.AttendanceLog.RemoveRange(existingLogs); _context.SaveChanges(); } var log = data.Attendance; log.Id = AdoHelper.GetNextId("AttendanceLog", _connString); _context.AttendanceLog.Add(log); _context.SaveChanges(); return(CreatedAtRoute("GetLog", new { id = log.Id }, log)); }