public IActionResult SubOnCourse([FromBody] SubscriptionUserDTO model) { if (!ModelState.IsValid) { return(BadRequest("Please, enter all field correct")); } else { CommandService.SubscriptionStudent(model); return(Ok("The student has successfully signed on course")); } }
public void SubscriptionStudent(SubscriptionUserDTO dto) { Context.UserSubscriptions.Add(new UserSubscriptions { CourseId = dto.CourseId, StartDate = dto.StartDate, UserId = dto.UserId }); Context.Users.FirstOrDefault(t => t.Id == dto.UserId).StudyDate = dto.StartDate.ToShortDateString(); var student = Context.Users.FirstOrDefault(t => t.Id == dto.UserId); if (student != null) { var currentDate = DateTime.UtcNow; if (dto.StartDate > currentDate) { EmailService emailServive = new EmailService(); Days daysConstants = new Days(dto.StartDate); var job30days = BackgroundJob.Schedule( () => emailServive.SendEmailAsync(student.Email, "Confirm password on HONEY COURSES", $"Good day.\n {student.Name} {student.LastName} you start training in course in month. See you at training."), daysConstants.ThirtyDays); var job7days = BackgroundJob.Schedule( () => emailServive.SendEmailAsync(student.Email, "Confirm password on HONEY COURSES", $"Good day.\n {student.Name} {student.LastName} you start training in course in 1 week. See you at training."), daysConstants.SevenDay); var job1days = BackgroundJob.Schedule( () => emailServive.SendEmailAsync(student.Email, "Confirm password on HONEY COURSES", $"Good day.\n {student.Name} {student.LastName} you start training in course in 1 day. See you at training."), daysConstants.OneDays); } } Context.SaveChanges(); }