public async Task <int> AddClassAttendance(CreateClassAttendanceViewModel viewModel) { if (viewModel == null) { return(await Task.FromResult(ClassAttendanceResponse.UnspecifiedError)); } var scheduledClass = _scheduledClassReader.GetScheduledClass(viewModel.ScheduledClassId); if (scheduledClass == null) { return(await Task.FromResult(ClassAttendanceResponse.ClassNotFound)); } if (scheduledClass.IsCancelled) { return(await Task.FromResult(ClassAttendanceResponse.ClassCancelled)); } var dto = new ClassAttendanceDto() { Id = Guid.NewGuid().ToString(), EnrolledDate = DateTime.UtcNow, EnrolledBy = viewModel.EnrolledBy, AttendeeId = viewModel.AttendeeId, ScheduledClassId = viewModel.ScheduledClassId, ScheduledClassName = scheduledClass.ClassTypeName, NoShow = false }; bool isSuccess = _classAttendanceWriter.AddClassAttendance(dto); return(await Task.FromResult(isSuccess?ClassAttendanceResponse.Success : ClassAttendanceResponse.UnspecifiedError)); }
public EditClassAttendanceViewModel(ClassAttendanceDto dto) { Id = dto.Id; EnrolledDate = dto.EnrolledDate; EnrolledBy = dto.EnrolledBy; AttendeeId = dto.AttendeeId; AttendeeName = dto.AttendeeName; ScheduledClassId = dto.ScheduledClassId; ScheduledClassName = dto.ScheduledClassName; NoShow = dto.NoShow; }
public bool UpdateClassAttendance(ClassAttendanceDto dto) { try { if (dto == null) { _logger.Warn($"Parameter id passed is null"); return(false); } var classAttendance = _context.ClassAttendances.FirstOrDefault(x => x.Id == dto.Id); if (classAttendance == null) { _logger.Warn($"ClassAttendance ID {dto.Id} not found in database"); return(false); } if (classAttendance.AttendeeId != dto.AttendeeId) { var attendee = _context.Users.FirstOrDefault(x => x.Id == dto.AttendeeId); classAttendance.Attendee = attendee; classAttendance.AttendeeId = dto.AttendeeId; } if (classAttendance.ScheduledClassId != dto.ScheduledClassId) { var scheduledClass = _context.ScheduledClasses.FirstOrDefault(x => x.Id == dto.ScheduledClassId); classAttendance.ScheduledClass = scheduledClass; classAttendance.ScheduledClassId = dto.ScheduledClassId; } classAttendance.EnrolledBy = dto.EnrolledBy; classAttendance.EnrolledDate = dto.EnrolledDate; classAttendance.NoShow = dto.NoShow; _context.Entry(classAttendance).State = EntityState.Modified; _context.SaveChanges(); return(true); } catch (Exception e) { _logger.Error(e); return(false); } }
public ClassAttendanceDto GetClassAttendance(string id) { var classAttendance = _context.ClassAttendances .Include("Attendee") .Include("ScheduledClass") .FirstOrDefault(x => x.Id == id); var dto = new ClassAttendanceDto() { Id = classAttendance.Id, EnrolledBy = classAttendance.EnrolledBy, EnrolledDate = classAttendance.EnrolledDate, AttendeeId = classAttendance.AttendeeId, AttendeeName = classAttendance.Attendee.UserName, ScheduledClassId = classAttendance.ScheduledClassId, ScheduledClassName = classAttendance.ScheduledClass.ClassType.Name, ClassStartDateTime = classAttendance.ScheduledClass.ClassStartTime, NoShow = classAttendance.NoShow }; _logger.Info($"ClassAttendance ID {id} found in database"); return dto; }
public bool AddClassAttendance(ClassAttendanceDto dto) { try { var attendee = _context.Users.FirstOrDefault(x => x.Id == dto.AttendeeId); var scheduledClass = _context.ScheduledClasses.FirstOrDefault(x => x.Id == dto.ScheduledClassId); if (attendee == null || scheduledClass == null) { _logger.Warn($"Attendee ID {dto.AttendeeId} or ScheduledClass ID {dto.ScheduledClassId} not found in database"); return(false); } var classAttendance = new ClassAttendance() { Id = dto.Id, EnrolledDate = dto.EnrolledDate, EnrolledBy = dto.EnrolledBy, AttendeeId = dto.AttendeeId, Attendee = attendee, ScheduledClass = scheduledClass, ScheduledClassId = dto.ScheduledClassId, NoShow = dto.NoShow }; _context.ClassAttendances.Add(classAttendance); _context.SaveChanges(); return(true); } catch (Exception e) { _logger.Error(e); return(false); } }