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()); } }
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()); } }
public IActionResult ShowHonesty() { try { var hon = _honestyRepositroy.GetIQueryable().Include(c => c.Country); return(Ok(_mapper.Map <HonestyResponseDTO[]>(hon))); } catch { return(BadRequestAnonymousError()); } }
//[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()); } }
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])); }
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()); } }
//[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()); } }
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)); } }
/// [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()); } }
//[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()); } }