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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 4
0
        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;
            }
        }
Esempio n. 5
0
 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);
     }
 }
Esempio n. 6
0
 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);
            }
        }
Esempio n. 9
0
        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;
            }
        }
Esempio n. 10
0
        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;
            }
        }
Esempio n. 11
0
        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;
            }
        }
Esempio n. 12
0
        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;
            }
        }
Esempio n. 13
0
        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;
            }
        }
Esempio n. 14
0
        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);
            }
        }
Esempio n. 15
0
        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;
            }
        }
Esempio n. 16
0
        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;
            }
        }
Esempio n. 17
0
        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;
            }
        }
Esempio n. 18
0
 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);
     }
 }
Esempio n. 19
0
        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;
            }
        }
Esempio n. 20
0
        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;
            }
        }
Esempio n. 21
0
        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;
            }
        }
Esempio n. 22
0
        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);
            }
        }
Esempio n. 23
0
        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);
            }
        }
Esempio n. 24
0
 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);
     }
 }
Esempio n. 25
0
 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);
         }
     }
 }
Esempio n. 26
0
        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);
        }
Esempio n. 27
0
 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;
     }
 }
Esempio n. 28
0
        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);
        }
Esempio n. 29
0
        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);
            }
        }
Esempio n. 30
0
        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);
        }