Esempio n. 1
0
        //[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());
            }
        }
Esempio n. 2
0
 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());
     }
 }
Esempio n. 3
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());
            }
        }