public static LessonTypesDTO GetLessonType(long?id = null, string name = null) { if (!id.HasValue && string.IsNullOrEmpty(name)) { return(null); } try { using (var ctx = new DAL.tutorDBEntities()) { var dbLessonType = ctx.LessonTypes.FirstOrDefault(x => x.id == id || x.name == name); if (dbLessonType != null) { var lessonType = new LessonTypesDTO { id = dbLessonType.id, name = dbLessonType.name }; return(lessonType); } throw new Exception($"Вариант проведения занятий: {name} не найден"); } } catch (Exception ex) { return(null); } }
public static double updateRating(long tutorId) { double rating; double sum = 0; var testimonials = BLL.Data.TutorData.displayTutorTestimonials(tutorId); if (testimonials.Count != 0) { foreach (var t in testimonials) { sum += t.star; } rating = sum / testimonials.Count; try { using (var ctx = new DAL.tutorDBEntities()) { var dbTutor = ctx.Tutors.FirstOrDefault(x => x.userId == tutorId) ?? throw new Exception($"Заявки не существует"); dbTutor.rating = rating; ctx.SaveChanges(); return(rating); } } catch (Exception ex) { throw; //return -1; } } else { return(0); } }
public static TestimonialDTO GetTestimonial(long requestId) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbTestimonial = ctx.Testimonials.FirstOrDefault(x => x.requestId == requestId); if (dbTestimonial != null) { var testimonial = new TestimonialDTO { text = dbTestimonial.text, star = dbTestimonial.star, date = dbTestimonial.date }; return(testimonial); } return(null); } } catch (Exception ex) { return(null); } }
public static List <RequestDTO> displayStudentsByTutor(long tutorId) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbMyRequests = ctx.Requests.Where(s => s.tutorId == tutorId).Select(mr => new RequestDTO { id = mr.id, studentId = mr.studentId, subjectId = mr.subjectId, lessonTypeId = mr.lessonsTypeId, status = mr.status, info = mr.additionalInfo }).ToList(); return(dbMyRequests); } } catch (Exception ex) { throw; //return -1; } }
public static List <TutorLessonLevelDTO> GetTutorsLessonLevels(long tutorId) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbTutorsLessonLevel = ctx.TutorLessonLevel.Where(s => s.tutorId == tutorId).Select(dbTLL => new TutorLessonLevelDTO { id = dbTLL.id, tutorId = dbTLL.tutorId, lessonlevelId = dbTLL.lessonLevelId, cost = 0 }).ToList(); if (dbTutorsLessonLevel != null) { return(dbTutorsLessonLevel); } throw new Exception($"Нет данных"); } } catch (Exception ex) { return(null); } }
public static int isRequestExist(long tutorId) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbTutorRequest = ctx.RequestsForAdmins.Where(s => (s.userId == tutorId) && (s.typeId == 4)).OrderByDescending(d => d.date).FirstOrDefault(); if (dbTutorRequest != null) { if (dbTutorRequest.status == "новая") { return(1); } else { return(2); } } else { return(3); } } } catch (Exception ex) { return(3); } }
public static SubjectTypesDTO GetSubjectType(long?id = null, string name = null) { if (!id.HasValue && string.IsNullOrEmpty(name)) { return(null); } try { using (var ctx = new DAL.tutorDBEntities()) { var dbSubjectType = ctx.SubjectTypes.FirstOrDefault(x => x.id == id || x.name == name); if (dbSubjectType != null) { var subjectType = new SubjectTypesDTO { id = dbSubjectType.id, name = dbSubjectType.name }; return(subjectType); } throw new Exception($"Уровень обучения: {name} не найден"); } } catch (Exception ex) { return(null); } }
public static LessonLevelsDTO GetLessonLevel(long?id = null, string name = null) { if (!id.HasValue && string.IsNullOrEmpty(name)) { return(null); } try { using (var ctx = new DAL.tutorDBEntities()) { var dbLessonLevel = ctx.LessonLevels.FirstOrDefault(x => x.id == id || x.name == name); if (dbLessonLevel != null) { var lessonLevel = new LessonLevelsDTO { id = dbLessonLevel.id, name = dbLessonLevel.name }; return(lessonLevel); } throw new Exception($"Уровень обучения: {name} не найден"); } } catch (Exception ex) { return(null); } }
public static long UpdateTutor(TutorDTO tutor) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbUser = ctx.Users.FirstOrDefault(x => x.id == tutor.id) ?? throw new Exception($"Пользователя не существует"); dbUser.name = tutor.name; dbUser.email = tutor.email; //dbUser.emailVerified = student.emailVerified; dbUser.birthDate = tutor.birthDate; var dbTutor = ctx.Tutors.FirstOrDefault(x => x.userId == tutor.id) ?? throw new Exception($"Пользователя не существует"); dbTutor.Skype = tutor.Skype; dbTutor.info = tutor.info; dbTutor.adress = tutor.adress; dbTutor.avatarId = tutor.avatarId; dbTutor.education = tutor.education; dbTutor.qualification = tutor.qualification; dbTutor.isApproved = tutor.isApproved; ctx.SaveChanges(); return(dbUser.id); } } catch (Exception ex) { throw; //return -1; } }
public static long SendRequest(RequestDTO request) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbRequest = ctx.Requests.FirstOrDefault(x => x.id == request.id) ?? ctx.Requests.Add(new DAL.Requests()); dbRequest.tutorId = request.tutorId; dbRequest.studentId = request.studentId; dbRequest.subjectId = request.subjectId; dbRequest.lessonsTypeId = request.lessonTypeId; dbRequest.additionalInfo = request.info; dbRequest.status = request.status; dbRequest.date = request.date; ctx.SaveChanges(); return(dbRequest.id); } } catch (Exception ex) { throw; //return -1; } }
public static long CreateUpdateUser(UserDTO user) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbUser = ctx.Users.FirstOrDefault(x => x.id == user.id) ?? ctx.Users.Add(new DAL.Users()); if (ctx.Users.Any(x => x.email == user.email && x.id != dbUser.id)) { return(-1); } dbUser.name = user.name; dbUser.email = user.email; dbUser.passwordHash = user.passwordHash; dbUser.passwordSalt = user.passwordSalt; dbUser.emailVerified = user.emailVerified; dbUser.birthDate = user.birthDate; dbUser.regDate = user.regDate; dbUser.role = user.role; ctx.SaveChanges(); return(dbUser.id); } } catch (Exception ex) { throw; //return -1; } }
public static long ConnectRole(long id) { try { using (var ctx = new DAL.tutorDBEntities()) { if (ctx.Users.FirstOrDefault(x => x.id == id).role == "student") { var dbStudent = ctx.Students.FirstOrDefault(x => x.userId == id) ?? ctx.Students.Add(new DAL.Students()); dbStudent.userId = id; ctx.SaveChanges(); } if (ctx.Users.FirstOrDefault(x => x.id == id).role == "tutor") { var dbTutor = ctx.Tutors.FirstOrDefault(x => x.userId == id) ?? ctx.Tutors.Add(new DAL.Tutors()); dbTutor.userId = id; ctx.SaveChanges(); } return(id); } } catch (Exception ex) { throw; //return -1; } }
public static long SendRequestForAdmin(RequestForAdminDTO request) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbRequest = ctx.RequestsForAdmins.FirstOrDefault(x => x.id == request.id) ?? ctx.RequestsForAdmins.Add(new DAL.RequestsForAdmins()); dbRequest.userId = request.userId; dbRequest.date = request.date; dbRequest.text = request.text; dbRequest.status = request.status; dbRequest.typeId = request.typeId; dbRequest.adminId = request.adminId; ctx.SaveChanges(); return(dbRequest.id); } } catch (Exception ex) { throw; //return -1; } }
public static SubjectsDTO GetSubject(long?id = null, string name = null) { if (!id.HasValue && string.IsNullOrEmpty(name)) { return(null); } try { using (var ctx = new DAL.tutorDBEntities()) { var dbSubject = ctx.Subjects.FirstOrDefault(x => x.id == id || x.name == name); if (dbSubject != null) { var subject = new SubjectsDTO { id = dbSubject.id, name = dbSubject.name, subjectTypeId = dbSubject.subjectTypeId }; return(subject); } throw new Exception($"Предмет: {name} не найден"); } } catch (Exception ex) { return(null); } }
public static long UpdateStudent(StudentDTO student) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbUser = ctx.Users.FirstOrDefault(x => x.id == student.id) ?? throw new Exception($"Пользователя не существует"); dbUser.name = student.name; dbUser.email = student.email; //dbUser.emailVerified = student.emailVerified; dbUser.birthDate = student.birthDate; var dbStudent = ctx.Students.FirstOrDefault(x => x.userId == student.id) ?? throw new Exception($"Пользователя не существует"); dbStudent.Skype = student.Skype; dbStudent.info = student.info; dbStudent.adress = student.adress; dbStudent.lessonsLevelId = student.lessonsLevelId; dbStudent.avatarId = student.avatarId; ctx.SaveChanges(); return(dbUser.id); } } catch (Exception ex) { throw; //return -1; } }
public static long SendTestimonial(TestimonialDTO testimonial) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbTestimonial = ctx.Testimonials.FirstOrDefault(x => x.id == testimonial.id) ?? ctx.Testimonials.Add(new DAL.Testimonials()); dbTestimonial.requestId = testimonial.requestId; dbTestimonial.text = testimonial.text; dbTestimonial.date = testimonial.date; dbTestimonial.star = testimonial.star; ctx.SaveChanges(); return(dbTestimonial.id); } } catch (Exception ex) { throw; //return -1; } }
public static List <RequestForAdminDTO> displayRequestsForAdmin(long adminId = 9) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbMyRequests = ctx.RequestsForAdmins.Where(s => (s.adminId == adminId) && (s.status == "новая")).Select(mr => new RequestForAdminDTO { id = mr.id, userId = mr.userId, typeId = mr.typeId, status = mr.status, text = mr.text, date = mr.date }).ToList(); return(dbMyRequests); } } catch (Exception ex) { throw; //return -1; } }
public static List <TutorLessonTypeDTO> GetTutorsLessonTypes(long tutorId) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbTutorsLessonType = ctx.TutorLessonType.Where(s => s.tutorId == tutorId).Select(dbTLT => new TutorLessonTypeDTO { id = dbTLT.id, tutorId = dbTLT.tutorId, lessontypeId = dbTLT.lessonTypeId, cost = dbTLT.cost }).ToList(); if (dbTutorsLessonType != null) { return(dbTutorsLessonType); } throw new Exception($"Нет данных"); } } catch (Exception ex) { return(null); } }
public static long CreateUpdateLessonLevel(LessonLevelsDTO lessonLevels) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbLessonLevel = ctx.LessonLevels.FirstOrDefault(x => x.id == lessonLevels.id) ?? ctx.LessonLevels.Add(new DAL.LessonLevels()); if (ctx.LessonLevels.Any(x => x.name == lessonLevels.name && x.id != dbLessonLevel.id)) { throw new Exception($"Уровень образования: {lessonLevels.name} уже существует"); } dbLessonLevel.name = lessonLevels.name; ctx.SaveChanges(); return(dbLessonLevel.id); } } catch (Exception ex) { throw; //return -1; } }
public static long CreateUpdateLessonTypes(LessonTypesDTO lessonTypes) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbLessonType = ctx.LessonTypes.FirstOrDefault(x => x.id == lessonTypes.id) ?? ctx.LessonTypes.Add(new DAL.LessonTypes()); if (ctx.LessonTypes.Any(x => x.name == lessonTypes.name && x.id != dbLessonType.id)) { throw new Exception($"Вариант проведения занятий: {lessonTypes.name} уже существует"); } dbLessonType.name = lessonTypes.name; ctx.SaveChanges(); return(dbLessonType.id); } } catch (Exception ex) { throw; //return -1; } }
public static long CreateUpdateSubjectTypes(SubjectTypesDTO subjectTypes) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbSubjectType = ctx.SubjectTypes.FirstOrDefault(x => x.id == subjectTypes.id) ?? ctx.SubjectTypes.Add(new DAL.SubjectTypes()); if (ctx.SubjectTypes.Any(x => x.name == subjectTypes.name && x.id != dbSubjectType.id)) { throw new Exception($"Группа предметов: {subjectTypes.name} уже существует"); } dbSubjectType.name = subjectTypes.name; ctx.SaveChanges(); return(dbSubjectType.id); } } catch (Exception ex) { throw; //return -1; } }
public static RequestDTO GetRequest(long requestId) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbRequest = ctx.Requests.FirstOrDefault(x => x.id == requestId); if (dbRequest != null) { var request = new RequestDTO { tutor = BLL.Data.TutorData.GetTutor(dbRequest.tutorId), student = BLL.Data.StudentData.GetStudent(dbRequest.studentId) }; return(request); } throw new Exception($"Запрос не найден"); } } catch (Exception ex) { return(null); } }
public static StudentDTO GetStudent(long?id = null, string email = null) { if (!id.HasValue && string.IsNullOrEmpty(email)) { return(null); } try { using (var ctx = new DAL.tutorDBEntities()) { var dbStudent = ctx.Users.Join(ctx.Students, u => u.id, s => s.userId, (u, s) => new { id = u.id, name = u.name, email = u.email, emailVerified = u.emailVerified, passwordHash = u.passwordHash, passwordSalt = u.passwordSalt, avatarId = s.avatarId, Skype = s.Skype, info = s.info, adress = s.adress, lessonsLevelId = s.lessonsLevelId, birthDate = u.birthDate, regDate = u.regDate }).FirstOrDefault(x => x.id == id || x.email == email); if (dbStudent != null) { var student = new StudentDTO { id = dbStudent.id, name = dbStudent.name, email = dbStudent.email, emailVerified = dbStudent.emailVerified, avatarId = dbStudent.avatarId, Skype = dbStudent.Skype, info = dbStudent.info, adress = dbStudent.adress, lessonsLevelId = dbStudent.lessonsLevelId, birthDate = dbStudent.birthDate, regDate = dbStudent.regDate }; return(student); } throw new Exception($"Пользователь с email: {email} не найден"); } } catch (Exception ex) { //throw; return(null); } }
public static string[] GetRole(string email) { string[] roles = new string[] { }; using (var ctx = new DAL.tutorDBEntities()) { // Получаем пользователя var user = ctx.Users.FirstOrDefault(u => u.email == email); if (user != null && user.role != null) { // получаем роль roles = new string[] { user.role }; } return(roles); } }
public static bool IsUserInRole(string email, string role) { using (var ctx = new DAL.tutorDBEntities()) { // Получаем пользователя var user = ctx.Users.FirstOrDefault(u => u.email == email); if (user != null && user.role != null && user.role == role) { return(true); } else { return(false); } } }
public static long GetTutorsCount() { long dbTutorCount; try { using (var ctx = new DAL.tutorDBEntities()) { dbTutorCount = ctx.Tutors.AsQueryable().Count(); } } catch (Exception ex) { return(0); } return(dbTutorCount); }
public static string processRequest(long requestId) { try { using (var ctx = new DAL.tutorDBEntities()) { var dbAdminRequest = ctx.RequestsForAdmins.FirstOrDefault(x => x.id == requestId) ?? throw new Exception($"Заявки не существует"); dbAdminRequest.status = "выполнена"; ctx.SaveChanges(); return(dbAdminRequest.status); } } catch (Exception ex) { throw; //return -1; } }
public static ImageWrapper GetAvatar(long UserId) { var res = new ImageWrapper(); using (var ctx = new DAL.tutorDBEntities()) { var dbAvatar = ctx.Images.FirstOrDefault(x => x.id == UserId); if (dbAvatar == null) { throw new Exception("Avatar not found"); } res.Content = dbAvatar.photoContent; res.Mime = dbAvatar.photoMime; } return(res); }
public static long AddImage(long UserId, ImageWrapper ImageData, bool isDocument) { using (var ctx = new DAL.tutorDBEntities()) { var img = ctx.Images.Add(new DAL.Images { userId = UserId, photoContent = ImageData.Content, photoMime = ImageData.Mime, isDocument = isDocument }); ctx.SaveChanges(); return(img.id); } }
public static List <long> GetDocuments(long UserId) { List <long> res = new List <long>(); using (var ctx = new DAL.tutorDBEntities()) { var dbDocuments = ctx.Images.Where(x => x.userId == UserId).ToList(); if (dbDocuments == null) { throw new Exception("Документ не найден"); } foreach (var d in dbDocuments) { res.Add(d.id); } } return(res); }