public static bool AddStudentInSubscription(StudentInSubscriptionDTO studentInSubscriptionDTO) { try { using (Gymnastics_Studio_DataEntities GSDE = new Gymnastics_Studio_DataEntities()) { StudentInSubscription studentInSubscription = StudentInSubscriptionDTO.ConvertFromDTO(studentInSubscriptionDTO); Subscription subscription = GSDE.Subscriptions.Where(x => x.Id == studentInSubscription.SubscribtionId).FirstOrDefault(); if (studentInSubscription != default) { Convert.ToDateTime(studentInSubscription.StartDate); studentInSubscription.FinishDate = studentInSubscription.StartDate; studentInSubscription.FinishDate = Convert.ToDateTime(studentInSubscription.FinishDate).AddDays(7 * (double)subscription.WeeksNum); } var lastStudentInSubscriptions = GSDE.StudentInSubscriptions.Where(x => x.StartDate == studentInSubscription.StartDate).FirstOrDefault(); if (lastStudentInSubscriptions != default) { studentInSubscription.Id = lastStudentInSubscriptions.Id; return(EditStudentInSubscription(StudentInSubscriptionDTO.ConvertToDTO(studentInSubscription))); } GSDE.StudentInSubscriptions.Add(studentInSubscription); GSDE.SaveChanges(); return(true); } } catch (Exception e) { throw e; } }
public static StudentInSubscriptionDTO GetCurrentStudentInSubscription(int studentId) { using (Gymnastics_Studio_DataEntities GSDE = new Gymnastics_Studio_DataEntities()) { StudentInSubscription CurrentstudentInSubscription = new StudentInSubscription(); CurrentstudentInSubscription = GSDE.StudentInSubscriptions.Where(x => x.StudentId == studentId && x.StartDate <= DateTime.Now && x.FinishDate >= DateTime.Now).FirstOrDefault(); if (CurrentstudentInSubscription == default) { StudentInSubscriptionDTO studentInSubscriptionDTO = new StudentInSubscriptionDTO(); return(studentInSubscriptionDTO); } return(StudentInSubscriptionDTO.ConvertToDTO(CurrentstudentInSubscription)); } }