Example #1
0
 public IActionResult Get()
 {
     try
     {
         var yearSystem = _yearSystemrepositroy.GetIQueryable()
                          .Include(c => c.SettingYearSystem)
                          .ThenInclude(k => k.Setting)
                          .Include(c => c.Years)
                          .ToList();
         return(Ok(_mapper.Map <ResponseYearSystem[]>(yearSystem)));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #2
0
        public IActionResult Delete([FromBody] int studyPlanId)
        {
            try
            {
                var studyPlan = _studyYearRepositroy.GetIQueryable(c => c.Id == studyPlanId)
                                .Include(c => c.StudySemester)
                                .ThenInclude(c => c.Subjects)
                                .ThenInclude(c => c.StudentSubject)
                                .SingleOrDefault();
                if (studyPlan == null)
                {
                    return(NotFound());
                }
                if (studyPlan.StudySemester.SelectMany(c => c.Subjects).SelectMany(c => c.StudentSubject).Any())
                {
                    return(Conflict());
                }
                _studyYearRepositroy.Remove(studyPlan, UserName());

                return(Ok());
            }
            catch
            {
                return(BadRequestAnonymousError());
            }
        }
Example #3
0
 public IActionResult ShowHonesty()
 {
     try
     {
         var hon = _honestyRepositroy.GetIQueryable().Include(c => c.Country);
         return(Ok(_mapper.Map <HonestyResponseDTO[]>(hon)));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #4
0
        //[Authorize(Roles = "ShowStudyPlan")]
        public IActionResult GetBySpecialization([FromQuery] string specializationId)
        {
            try
            {
                var specialization = _specializationsRepositroy.Find(specializationId);
                if (specialization == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Get By Specialization";
                    message.ControllerName = "Study Plan";
                    message.Message        = "الاختصاص غير موجود";
                    return(NotFound(message));
                }
                var studyPlans = _StudyPlanRepositroy.GetIQueryable()
                                 .Where(sp => sp.SpecializationId == specializationId)
                                 .Include(sp => sp.Year)
                                 .Include(sp => sp.StudySemester)
                                 .ThenInclude(ss => ss.StudyYear)
                                 .Include(sp => sp.StudySemester)
                                 .ThenInclude(ss => ss.Subjects)
                                 .ThenInclude(d => d.DependenceSubjectDependsOnSubject)
                                 .ThenInclude(s => s.Subject)
                                 .Include(sp => sp.StudySemester)
                                 .ThenInclude(ss => ss.Subjects)
                                 .ThenInclude(d => d.DependenceSubjectSubject)
                                 .ThenInclude(s => s.DependsOnSubject)
                                 .Include(sp => sp.StudySemester)
                                 .ThenInclude(ss => ss.Subjects)
                                 .ThenInclude(s => s.SubjectType);

                var studyPantMapped = _mapper.Map <StudyPlanResponse[]>(studyPlans);
                return(Ok(studyPantMapped));
            }
            catch (Exception ex)
            {
                return(BadRequestAnonymousError());
            }
        }
Example #5
0
 public IActionResult ByCode([FromQuery] string code)
 {
     try
     {
         var subject = _subjectRepositroy.GetIQueryable(c => c.SubjectCode == code)
                       .Include(c => c.SubjectType)
                       .FirstOrDefault();
         if (subject == null)
         {
             var message = Messages.NotFound;
             message.ActionName     = "By Code";
             message.ControllerName = "Subject";
             message.Message        = "المادة غير موجودة";
             return(NotFound(message));
         }
         var responseSubject = _mapper.Map <ResponseSubjectDTO>(subject);
         return(Ok(responseSubject));
     }
     catch (Exception)
     {
         return(BadRequestAnonymousError());
     }
 }
        public IActionResult GetAvilabelStudySemesterByYearAndStudyYear(string specializationId, int yearId, int studyYearId)
        {
            var year = _yearRepositroy.GetIQueryable(c => c.Id == yearId)
                       .Include(c => c.ExamSemester)
                       .ThenInclude(c => c.StudentSubject)
                       .ThenInclude(c => c.Subject)
                       .ThenInclude(c => c.StudySemester)
                       .ThenInclude(c => c.Studyplan)
                       .FirstOrDefault();

            if (year.Blocked)
            {
                var message = Messages.Blocked;
                message.Message        = "السنة مقفولة";
                message.ActionName     = "Get Avilabel Study Semester By Year And StudyYear";
                message.ControllerName = "Exam Semeter";
                return(Conflict(message));
            }
            //var examSemesters = year.ExamSemester.Where(ss => ss.StudentSubject.Where(c => c.Subject.StudySemester.Studyplan.SpecializationId == specializationId && c.Subject.StudySemester.StudyYearId == studyYearId).Count() > 0).ToList();
            var examSemesters = year.ExamSemester.ToList();

            examSemesters.Sort((s1, s2) => s1.SemesterNumber.CompareTo(s2.SemesterNumber));

            foreach (var item in examSemesters)
            {
                if (item.SemesterNumber > 1)
                {
                    if (!year.IsThisSemesterFinshed(item.SemesterNumber - 1))
                    {
                        var message = new BadRequestErrors()
                        {
                            ActionName     = "GetAvilabelStudySemesterByYearAndStudyYear",
                            ControllerName = "ExamSemester",
                            Message        = "يجب انهاء الفصل السابق",
                        };
                        return(Conflict(message));
                    }
                }
                if (item.StudentSubject.Any(c => c.PracticalDegree == null || c.TheoreticlaDegree == null))
                {
                    item.StudentSubject = item.StudentSubject.Where(c => c.TheoreticlaDegree == null).ToList();
                    item.StudentSubject = item.StudentSubject.Where(c => c.Subject.StudySemester.StudyYearId == studyYearId && c.Subject.StudySemester.Studyplan.SpecializationId == specializationId).ToList();
                    var subjects             = item.StudentSubject.GroupBy(c => c.Subject).Select(c => c.First().Subject).ToList();
                    var repsonseExamSemester = _mapper.Map <ResponseExamSemesterDTO>(item);
                    repsonseExamSemester.Subjects = _mapper.Map <ResponseSubjectDTO[]>(subjects).ToList();
                    return(Ok(repsonseExamSemester));
                }
            }
            return(Ok(new ResponseExamSemesterDTO[0]));
        }
Example #7
0
 public IActionResult ShowGroup()
 {
     try
     {
         var groups = _groupRepositroy.GetIQueryable()
                      .Include(c => c.UserGroup)
                      .ThenInclude(ug => ug.User)
                      .Include(c => c.GroupPrivilage)
                      .ThenInclude(gp => gp.Privilage);
         return(Ok(_mapper.Map <GroupResopnseDTO[]>(groups)));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #8
0
        //[Authorize(Roles = "UpdateSubject")]
        public IActionResult AddEquivlantSubject([FromForm] int FirstSubject, [FromForm] int SecondSubject)
        {
            try
            {
                var similar = _equivalentSubjectRepositroy
                              .GetIQueryable(c => c.FirstSubject == FirstSubject && c.SecoundSubject == SecondSubject ||
                                             c.SecoundSubject == FirstSubject && c.FirstSubject == SecondSubject).FirstOrDefault();
                if (similar != null)
                {
                    var message = Messages.Exist;
                    message.ActionName     = "Add Equivlant Subject";
                    message.ControllerName = "Subject";
                    return(Conflict(message));
                }
                Subjects subject = _subjectRepositroy.Find(FirstSubject);
                if (subject == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Add Equivlant Subject";
                    message.ControllerName = "Subject";
                    message.Message        = "المادة غير موجودة";
                    return(NotFound(message));
                }

                Subjects EquivlantSub = _subjectRepositroy.Find(SecondSubject);
                if (EquivlantSub == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Add Equivlant Subject";
                    message.ControllerName = "Subject";
                    message.Message        = "المادة غير موجودة";
                    return(NotFound(message));
                }
                EquivalentSubject equ = new EquivalentSubject()
                {
                    FirstSubject   = subject.Id,
                    SecoundSubject = EquivlantSub.Id
                };
                _equivalentSubjectRepositroy.Add(equ, UserName());
                _equivalentSubjectRepositroy.Save();
                return(Ok(equ));
            }
            catch
            {
                return(BadRequestAnonymousError());
            }
        }
Example #9
0
        public IActionResult Users()
        {
            try
            {
                var user = _userRepositroy.GetIQueryable()
                           .Include(v => v.UserGroup)
                           .Include(c => c.UserGroup)
                           .ThenInclude(gp => gp.Group);



                return(Ok(_mapper.Map <UserResponDTO[]>(user)));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Example #10
0
        /// [Authorize(Roles = "UpdateSpecialization")]
        public IActionResult UpdateSpecialization(string id, [FromBody] UpdateSpecializationDTO updateSpecializationDTO)
        {
            try
            {
                updateSpecializationDTO.Name = updateSpecializationDTO.Name.Trim();
                var simelar     = _specializationsRepositroy.Get(c => c.Name == updateSpecializationDTO.Name && c.Id != id).FirstOrDefault();
                var orginalspec = _specializationsRepositroy.GetIQueryable(c => c.Id == id)
                                  .Include(c => c.StudyPlan)
                                  .FirstOrDefault();
                if (orginalspec == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Update specialization";
                    message.ControllerName = "specialization";
                    message.Message        = "الاختصاص غير موجود";
                    return(NotFound(message));
                }
                if (orginalspec.Id != updateSpecializationDTO.Id)
                {
                    var studentHaveThisSpe = _studentRepositroy.GetIQueryable(c => c.SpecializationId == orginalspec.Id).Count();

                    if (orginalspec.StudyPlan.Count > 0 || studentHaveThisSpe > 0)
                    {
                        var message = Messages.CannotDelete;
                        message.ActionName     = "Update specialization";
                        message.ControllerName = "specialization";
                        return(Conflict(message));
                    }
                }
                orginalspec = _mapper.Map(updateSpecializationDTO, orginalspec);
                _specializationsRepositroy.Update(orginalspec, UserName());
                _specializationsRepositroy.Save();
                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequestAnonymousError());
            }
        }
Example #11
0
        //[Authorize(Roles = "AddSubject")]
        public IActionResult Add([FromBody] AddSubjectDTO addSubjectDTO)
        {
            try
            {
                addSubjectDTO.Name = addSubjectDTO.Name.Trim();
                var simelarCode = _subjectRepositroy.Get(c => c.SubjectCode == addSubjectDTO.SubjectCode).FirstOrDefault();
                if (simelarCode != null)
                {
                    var message = Messages.Exist;
                    message.ActionName     = "Add";
                    message.ControllerName = "Subject";
                    return(Conflict(message));
                }

                var subjectType = _subjectTypeRepositroy.Find(addSubjectDTO.SubjectTypeId);
                if (subjectType == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Add";
                    message.ControllerName = "Subject";
                    message.Message        = "نوع المادة غير موجود";
                    return(Conflict(message));
                }
                var semester = _studySemesterRepositroy.GetIQueryable(c => c.Id == addSubjectDTO.StudySemesterId)
                               .Include(c => c.Studyplan)
                               .ThenInclude(c => c.Year)
                               .FirstOrDefault();
                if (semester == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Add";
                    message.ControllerName = "Subject";
                    message.Message        = "الفصل التدريسي غير موجود";
                    return(NotFound(message));
                }
                if (semester.Studyplan.Year.Blocked)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Add";
                    message.ControllerName = "Subject";
                    message.Message        = "لا يمكن تعديل الخطة ";
                    return(Conflict(message));
                }
                var subject = _mapper.Map <Subjects>(addSubjectDTO);
                _abstractUnitOfWork.Add(subject, UserName());
                subject.StudySemester = semester;
                foreach (var item in addSubjectDTO.DependencySubjectsId)
                {
                    var depencaySubject = _subjectRepositroy.GetIQueryable(c => c.Id == item)
                                          .Include(c => c.StudySemester).FirstOrDefault();
                    var checking = _subjectServices.CheckSubjectAndDepandcySubject(subject, depencaySubject);
                    if (!checking)
                    {
                        return(Conflict());//؟؟؟؟
                    }
                    DependenceSubject dependenceSubject = new DependenceSubject
                    {
                        SubjectId          = subject.Id,
                        DependsOnSubjectId = item
                    };
                    _abstractUnitOfWork.Add(dependenceSubject, UserName());
                }
                foreach (var item in addSubjectDTO.EquivalentSubjectsId)
                {
                    var equivalentSubject = _subjectRepositroy.Find(item);
                    if (equivalentSubject == null)
                    {
                        var message = Messages.NotFound;
                        message.ActionName     = "Add";
                        message.ControllerName = "Subject";
                        message.Message        = "المادةالمكافئة غير موجودة";
                        return(NotFound(message));
                    }
                    EquivalentSubject eq = new EquivalentSubject()
                    {
                        FirstSubject   = subject.Id,
                        SecoundSubject = item
                    };
                    _abstractUnitOfWork.Add(eq, UserName());
                }
                _abstractUnitOfWork.Commit();
                return(Ok(subject));
            }
            catch
            {
                return(BadRequestAnonymousError());
            }
        }