//[Authorize(Roles = "UpdateSubject")] public IActionResult AddDependencySubject(int id, [FromForm] int dependencyId) { try { var similar = _dependenceSubjectRepositroy.Get(c => c.SubjectId == id && c.DependsOnSubjectId == dependencyId).FirstOrDefault(); if (similar != null) { var message = Messages.Exist; message.ActionName = "Add Dependency Subject"; message.ControllerName = "Subject"; return(Conflict(message)); } Subjects subject = _subjectRepositroy.GetIQueryable(s => s.Id == id) .Include(s => s.StudySemester) .FirstOrDefault(); if (subject == null) { var message = Messages.NotFound; message.ActionName = "Add Dependency Subject"; message.ControllerName = "Subject"; message.Message = "المادة غير موجودة"; return(NotFound(message)); } bool found; Subjects dependancySubject = _subjectRepositroy.GetIQueryable(c => c.Id == dependencyId) .Include(c => c.StudySemester) .FirstOrDefault(); var chicking = _subjectServices.CheckSubjectAndDepandcySubject(subject, dependancySubject, out found); if (!chicking) { if (!found) { var message = Messages.NotFound; message.ActionName = "Add Dependency Subject"; message.ControllerName = "Subject"; return(NotFound(message)); } return(Conflict()); } DependenceSubject dep = new DependenceSubject() { SubjectId = id, DependsOnSubjectId = dependencyId }; _dependenceSubjectRepositroy.Add(dep, UserName()); _dependenceSubjectRepositroy.Save(); return(Ok()); } catch { return(BadRequestAnonymousError()); } }
public IActionResult RemoveDependencySubject(int SubjectId, [FromForm] int DependencyId) { try { DependenceSubject DependencySub = _dependenceSubjectRepositroy .Get(c => (c.SubjectId == SubjectId && c.DependsOnSubjectId == DependencyId)).FirstOrDefault(); if (DependencySub == null) { var message = Messages.NotFound; message.ActionName = "Remove Dependency Subject"; message.ControllerName = "Subject"; message.Message = "المادة المعتمدة غير موجودة"; return(NotFound(message)); } _dependenceSubjectRepositroy.Remove(DependencySub, UserName()); _dependenceSubjectRepositroy.Save(); return(Ok()); } catch { 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()); } }