Example #1
0
 public IActionResult AddTypeOfRegistar([FromBody] AddTypeOfRegistarDTO addTypeOfRegistarDTO)
 {
     try
     {
         addTypeOfRegistarDTO.Name = addTypeOfRegistarDTO.Name.Trim();
         if (string.IsNullOrWhiteSpace(addTypeOfRegistarDTO.Name))
         {
             var message = Messages.EmptyName;
             message.ActionName     = "Add Type Of Register";
             message.ControllerName = "Typr Of Register";
             return(BadRequest(message));
         }
         if (_typeOfRegistarRepositroy.Get(c => c.Name == addTypeOfRegistarDTO.Name).FirstOrDefault() != null)
         {
             var message = Messages.Exist;
             message.ActionName     = "Add Type Of Register";
             message.ControllerName = "Typr Of Register";
             return(Conflict(message));
         }
         var type = _mapper.Map <TypeOfRegistar>(addTypeOfRegistarDTO);
         _typeOfRegistarRepositroy.Add(type, UserName());
         _typeOfRegistarRepositroy.Save();
         return(Ok(type));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #2
0
 public IActionResult AddLanguage([FromBody] AddLanguageDTO addLanguageDTO)
 {
     try
     {
         addLanguageDTO.Name = addLanguageDTO.Name.Trim();
         if (string.IsNullOrWhiteSpace(addLanguageDTO.Name))
         {
             var message = Static.Messages.EmptyName;
             message.ActionName     = "Add Language ";
             message.ControllerName = "Language";
             return(BadRequest(message));
         }
         if (_LangageRepositroy.Get(c => c.Name == addLanguageDTO.Name).FirstOrDefault() != null)
         {
             var message = Messages.Exist;
             message.ActionName     = "Add Language ";
             message.ControllerName = "Language";
             return(Conflict(message));
         }
         var lan = _mapper.Map <Langaues>(addLanguageDTO);
         _LangageRepositroy.Add(lan, UserName());
         _LangageRepositroy.Save();
         return(Ok(lan));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #3
0
 public IActionResult AddNationality([FromBody] AddNationalityDTO addNationalityDTO)
 {
     try
     {
         addNationalityDTO.Name = addNationalityDTO.Name.Trim();
         if (string.IsNullOrWhiteSpace(addNationalityDTO.Name))
         {
             var message = Messages.EmptyName;
             message.ActionName     = "Add Nationalities";
             message.ControllerName = "Nationalities";
             return(BadRequest(message));
         }
         if (_nationaliesRepositroy.Get(c => c.Name == addNationalityDTO.Name).FirstOrDefault() != null)
         {
             var message = Messages.Exist;
             message.ActionName     = "Add Nationalities";
             message.ControllerName = "Nationalities";
             return(Conflict(message));
         }
         var nat = _mapper.Map <Nationalies>(addNationalityDTO);
         _nationaliesRepositroy.Add(nat, UserName());
         _nationaliesRepositroy.Save();
         return(Ok(nat));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #4
0
        //  [Authorize(Roles = "AddGroup")]
        public IActionResult Create([FromBody] AddGroupDTO addGroupDto)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(addGroupDto.Name))
                {
                    var message = Messages.EmptyName;
                    message.ActionName     = "Add Group";
                    message.ControllerName = "Group";
                    return(BadRequest(message));
                }
                // test if there is another group with the same name
                Group group = _groupRepositroy.Get(c => c.Name == addGroupDto.Name).FirstOrDefault();
                if (group != null)
                {
                    var message = Messages.Exist;
                    message.ActionName     = "Add Group";
                    message.ControllerName = "Group";
                    return(Conflict(message));
                }
                var        priveleges  = _privilageRepositroy.Get().Select(c => c.Id);
                List <int> privelgesId = addGroupDto.Priveleges;

                if (privelgesId != null)
                {
                    // test if theres an priveleg Id not in database
                    if (privelgesId.Except(priveleges).Any())
                    {
                        var message = Messages.NotFound;
                        message.ActionName     = "Add Group";
                        message.ControllerName = "Group";
                        message.Message        = "الصلاحية غير موجودة";
                        return(NotFound(message));
                    }
                }

                group = new Group()
                {
                    Name = addGroupDto.Name
                };
                _abstractUnitOfWork.Add(group, UserName());
                // for add group without priveleges
                if (privelgesId != null)
                {
                    foreach (var item in addGroupDto.Priveleges)
                    {
                        _abstractUnitOfWork.Add(new GroupPrivilage()
                        {
                            GroupId = group.Id, PrivilageId = item
                        }, UserName());
                    }
                }
                _abstractUnitOfWork.Commit();
                return(Ok(_mapper.Map <GroupResopnseDTO>(group)));
            }
            catch (Exception)
            {
                return(BadRequestAnonymousError());
            }
        }
 public IActionResult AddSocialStates([FromBody] AddSocialStatesDTO addSocialStatesDTO)
 {
     try
     {
         addSocialStatesDTO.Name = addSocialStatesDTO.Name.Trim();
         if (string.IsNullOrWhiteSpace(addSocialStatesDTO.Name))
         {
             var message = Messages.EmptyName;
             message.ActionName     = "Add Social State";
             message.ControllerName = "Social State";
             return(BadRequest(message));
         }
         if (_socialStatesRepositroy.Get(c => c.Name == addSocialStatesDTO.Name).FirstOrDefault() != null)
         {
             var message = Messages.Exist;
             message.ActionName     = "Add Social State";
             message.ControllerName = "Social State";
             return(Conflict(message));
         }
         var soc = _mapper.Map <SocialStates>(addSocialStatesDTO);
         _socialStatesRepositroy.Add(soc, UserName());
         _socialStatesRepositroy.Save();
         return(Ok(soc));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #6
0
 public IActionResult GetExamSystem()
 {
     try
     {
         var examSystem = _mapper.Map <ResponseExamSystemDTO[]>(_examSystemRepositroy.Get(null, c => c.Years));
         return(Ok(examSystem));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #7
0
        //[Authorize(Roles = "AddUser")]
        public IActionResult AddUser([FromBody] AddUserDTO addUserDTO)
        {
            try
            {
                addUserDTO.Name = addUserDTO.Name.Trim();
                User simelarUserName = _userRepositroy.Get(c => c.Username == addUserDTO.Username).FirstOrDefault();
                if (simelarUserName != null)
                {
                    var message = Messages.Exist;
                    message.ActionName     = "Add User";
                    message.ControllerName = "User";
                    return(Conflict(message));
                }

                User user = _mapper.Map <User>(addUserDTO);
                user.Password = MD5Hash.GetMd5Hash(user.Password);

                //check  for groups Id
                var groupsId = _groupRepository.Get().Select(c => c.Id);
                if (addUserDTO.GroupIds != null && addUserDTO.GroupIds.Count > 0)
                {
                    if (addUserDTO.GroupIds.Except(groupsId).Any())
                    {
                        var message = Messages.NotFound;
                        message.ActionName     = "Add User";
                        message.ControllerName = "User";
                        message.Message        = "يوجد مجموعة على الاقل غير موجودة";
                        return(NotFound(message));
                    }
                }
                //end checking
                _abstractUnitOfWork.Add(user, UserName());
                if (addUserDTO.GroupIds != null && addUserDTO.GroupIds.Count > 0)
                {
                    foreach (var item in addUserDTO.GroupIds)
                    {
                        UserGroup userGroup = new UserGroup()
                        {
                            UserId  = user.Id,
                            GroupId = item,
                        };
                        _abstractUnitOfWork.Add(userGroup, UserName());
                    }
                }
                _abstractUnitOfWork.Commit();
                return(Ok(_mapper.Map <UserResponDTO>(user)));
            }
            catch (Exception ex)
            {
                return(BadRequest(Messages.AnonymousError));
            }
        }
Example #8
0
        public IActionResult AddPriveleges(int id, [FromForm] int privelegeId)
        {
            try
            {
                Group group = _groupRepositroy.Find(id);
                if (group == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "AddPriveleges";
                    message.ControllerName = "Group";
                    message.Message        = "المجموعة غير موجودة";
                    return(NotFound(message));
                }
                Privilage privilage = _privilageRepositroy.Find(privelegeId);
                if (privilage == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "AddPriveleges";
                    message.ControllerName = "Group";
                    message.Message        = "المجموعة غير موجودة";
                    return(NotFound(message));
                }
                GroupPrivilage groupPrivilage = _groupPrivilageRepositroy.Get(c => c.GroupId == id && c.PrivilageId == privelegeId).FirstOrDefault();
                if (groupPrivilage != null)
                {
                    var message = Messages.Exist;
                    message.ActionName     = "AddPriveleges";
                    message.ControllerName = "Group";
                    return(Conflict(message));
                }
                groupPrivilage = new GroupPrivilage()
                {
                    GroupId     = id,
                    PrivilageId = privelegeId
                };

                _groupPrivilageRepositroy.Add(groupPrivilage, UserName());
                _groupPrivilageRepositroy.Save();
                return(Ok(_mapper.Map <GroupPrivilage>(groupPrivilage)));
            }
            catch
            {
                return(BadRequestAnonymousError());
            }
        }
Example #9
0
 public IActionResult AddGroup(int id, [FromForm] int groupId)
 {
     try
     {
         var user = _userRepositroy.Find(id);
         if (user == null)
         {
             var message = Messages.NotFound;
             message.ActionName     = "Add Group";
             message.ControllerName = "User";
             message.Message        = "المستخدم غير موجود";
             return(NotFound(message));
         }
         var group = _groupRepository.Find(groupId);
         if (group == null)
         {
             var message = Messages.NotFound;
             message.ActionName     = "Add Group";
             message.ControllerName = "User";
             message.Message        = "المجموعة غير موجودة";
             return(NotFound(message));
         }
         var UserGroup = _userGroupRepository.Get(c => c.UserId == id && c.GroupId == groupId).FirstOrDefault();
         if (UserGroup != null)
         {
             var message = Messages.Exist;
             message.ActionName     = "Add Group";
             message.ControllerName = "User";
             message.Message        = "مجموعة المستخدمبن غير موجودة";
             return(Conflict(message));
         }
         _userGroupRepository.Add(new UserGroup()
         {
             UserId = id, GroupId = groupId
         }, UserName());
         _userGroupRepository.Save();
         return(Ok());
     }
     catch (Exception)
     {
         return(BadRequestAnonymousError());
     }
 }
Example #10
0
 public IActionResult Settings()
 {
     try
     {
         return(Ok(_settingsRepositroy.Get()));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #11
0
        public IActionResult AddSpecialization([FromBody] AddSpecializationDTO addSpecializationDTO)
        {
            try
            {
                if (String.IsNullOrEmpty(addSpecializationDTO.Id))
                {
                    return(Conflict());
                }
                addSpecializationDTO.Name = addSpecializationDTO.Name.Trim();
                if (string.IsNullOrWhiteSpace(addSpecializationDTO.Name))
                {
                    var message = Messages.EmptyName;
                    message.ActionName     = "Add specialization";
                    message.ControllerName = "specialization";
                    return(Conflict(message));
                }
                if (addSpecializationDTO.Id.Length > 1)

                {
                    var message = Messages.OneCharacter;
                    message.ActionName     = "Add specialization";
                    message.ControllerName = "specialization";
                    return(Conflict(message));
                }
                if (_specializationsRepositroy.Get(c => c.Name == addSpecializationDTO.Name && c.Id == addSpecializationDTO.Id).FirstOrDefault() != null)
                {
                    var message = Messages.Exist;
                    message.ActionName     = "Add specialization";
                    message.ControllerName = "specialization";
                    return(Conflict(message));
                }
                var spec = _mapper.Map <Specializations>(addSpecializationDTO);
                _specializationsRepositroy.Add(spec, UserName());
                _specializationsRepositroy.Save();
                return(Ok(_mapper.Map <SpecialziationResponseDTO>(spec)));
            }
            catch
            {
                return(BadRequestAnonymousError());
            }
        }
Example #12
0
 public IActionResult ShowPrivilage()
 {
     try
     {
         var pri = _mapper.Map <Privilage[]>(_privilageRepositroy.Get());
         return(Ok(pri));
     }
     catch
     {
         return(BadRequestAnonymousError());
     }
 }
Example #13
0
        public IActionResult AddHonesty([FromBody] AddHonestyDTO addHonestyDTO)
        {
            try
            {
                addHonestyDTO.Name = addHonestyDTO.Name.Trim();
                var city = _countryRepoistory.Find(addHonestyDTO.CountryId);
                if (city.MainCountry == null)
                {
                    var message = Messages.CityNotCountry;
                    message.ActionName     = "Add Honesty ";
                    message.ControllerName = "Honesty";
                    return(BadRequest(message));
                }

                if (string.IsNullOrWhiteSpace(addHonestyDTO.Name))
                {
                    var message = Messages.EmptyName;
                    message.ActionName     = "Add Honesty ";
                    message.ControllerName = "Honesty";
                    return(BadRequest(message));
                }
                if (_honestyRepositroy.Get(c => c.Name == addHonestyDTO.Name && c.CountryId == addHonestyDTO.CountryId).FirstOrDefault() != null)
                {
                    var message = Messages.Exist;
                    message.ActionName     = "Add Honesty ";
                    message.ControllerName = "Honesty";
                    return(Conflict(message));
                }
                var honesty = _mapper.Map <Honesty>(addHonestyDTO);
                _honestyRepositroy.Add(honesty, UserName());
                _honestyRepositroy.Save();

                return(Ok(honesty));
            }
            catch
            {
                return(BadRequestAnonymousError());
            }
        }
Example #14
0
 //[Authorize(Roles = "RemoveSubject")]
 public IActionResult Remove([FromForm] int id)
 {
     try
     {
         Subjects subject = _abstractUnitOfWork.Repository <Subjects>().Find(id);
         if (subject == null)
         {
             var message = Messages.NotFound;
             message.ActionName     = "Remove";
             message.ControllerName = "Subject";
             message.Message        = "المادة غير موجودة";
             return(NotFound(message));
         }
         var dep = _dependenceSubjectRepositroy.Get(c => c.SubjectId == id || c.DependsOnSubjectId == id);
         if (dep != null)
         {
             foreach (var item in dep)
             {
                 _abstractUnitOfWork.Remove(item, UserName());
             }
         }
         var equ = _equivalentSubjectRepositroy.Get(c => c.FirstSubject == id ||
                                                    c.SecoundSubject == id).ToList();
         if (equ != null)
         {
             foreach (var item in equ)
             {
                 _abstractUnitOfWork.Remove(item, UserName());
             }
         }
         _abstractUnitOfWork.Remove(subject, UserName());
         _abstractUnitOfWork.Commit();
         return(Ok());
     }
     catch (Exception)
     {
         return(BadRequestAnonymousError());
     }
 }
Example #15
0
        public IActionResult GetEnabled()
        {
            var x = _phoneTypeRepositroy.Get(c => c.IsEnabled);

            return(Ok(x));
        }
Example #16
0
        //[Authorize(Roles = "AddStudyPlan")]
        public IActionResult Add([FromBody] AddStudyPalnDTO addStudyPalnDTO)
        {
            try
            {
                var year = _yearRepositroy.Find(addStudyPalnDTO.YearId);
                if (year == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Add Study Plan";
                    message.ControllerName = "Study Plan";
                    message.Message        = "السنة غير موجودة";
                    return(NotFound(message));
                }
                var specialization = _specializationsRepositroy.Find(addStudyPalnDTO.SpecializationId);
                if (specialization == null)
                {
                    var message = Messages.NotFound;
                    message.ActionName     = "Add Study Plan";
                    message.ControllerName = "Study Plan";
                    message.Message        = "الاختصاص غير موجود";
                    return(NotFound(message));
                }

                #region check temporary Id
                var tempId = addStudyPalnDTO.Subjects.Select(c => c.AddSubjectDTO.TempId).ToArray();
                if (tempId.Contains(0))
                {
                    var message = new BadRequestErrors();
                    message.ActionName     = "Update";
                    message.ControllerName = "YearSystem";
                    message.Message        = "الرجاء إعادة تحميل الصفحة";
                    return(Conflict(message));
                }
                if (tempId.Count() != tempId.Distinct().Count())
                {
                    var message = new BadRequestErrors();
                    message.ActionName     = "Update";
                    message.ControllerName = "YearSystem";
                    message.Message        = "الرجاء إعادة تحميل الصفحة";
                    return(Conflict(message));
                }
                #endregion


                #region check subject
                //but it should replace after asking the Eng
                //check subject
                var studyYear       = _studyYearRepositroy.Get().ToList();
                var subjectsTypesId = _subjectTypeRepositroy.Get().Select(c => c.Id);
                var subjectsId      = _subjectRepositroy.Get().Select(c => c.Id);
                foreach (var item in addStudyPalnDTO.Subjects)
                {
                    //there's not thered study semester
                    if (item.StudySemesterNumber > 2)
                    {
                        var message = Messages.NotFound;
                        message.ActionName     = "Add Study Plan";
                        message.ControllerName = "Study Plan";
                        message.Message        = "ليست 3 فصول تدريسية";
                        return(Conflict(message));
                    }
                    //chekc if all the year is correct
                    //example
                    //this subject is for thered year and in our collage don't have any thered year yet
                    //so it return an confliect
                    if (studyYear.Select(c => c.Id).ToList().IndexOf(item.StudyYearId) < 0)
                    {
                        var message = new BadRequestErrors();
                        message.ActionName     = "Add Study Plan";
                        message.ControllerName = "Study Plan";
                        message.Message        = "السنة الدراسية غير موجودة";
                        return(Conflict(message));
                    }

                    //check Type if exist
                    if (!subjectsTypesId.Contains(item.AddSubjectDTO.SubjectTypeId))
                    {
                        var message = Messages.NotFound;
                        message.ActionName     = "Add Study Plan";
                        message.ControllerName = "Study Plan";
                        message.Message        = "نوع المادة غير موجود";

                        return(NotFound(message));
                    }
                    var subject = item.AddSubjectDTO;
                    //befor tempId
                    //if (subject.DependencySubjectsId.Except(subjectsId).Any())
                    //{
                    //    return Conflict();
                    //}
                    subject.Name = subject.Name.Trim();
                    if (string.IsNullOrWhiteSpace(subject.Name))
                    {
                        var message = Messages.EmptyName;
                        message.ActionName     = "Add Study Plan";
                        message.ControllerName = "Study Plan";
                        return(Conflict(message));
                    }
                    if (subject.DependencySubjectsId.Except(tempId).Any())
                    {
                        var message = Messages.ReLoadPage;
                        message.ActionName     = "Add Study Plan";
                        message.ControllerName = "Study Plan";
                        return(Conflict(message));
                    }
                    if (subject.EquivalentSubjectsId.Except(subjectsId).Any())
                    {
                        var message = Messages.ReLoadPage;
                        message.ActionName     = "Add Study Plan";
                        message.ControllerName = "Study Plan";
                        return(Conflict(message));
                    }
                    subject.DependencySubjectsId = subject.DependencySubjectsId.Distinct().ToList();
                    subject.EquivalentSubjectsId = subject.EquivalentSubjectsId.Distinct().ToList();
                }
                #endregion

                var studyPaln = _mapper.Map <StudyPlan>(addStudyPalnDTO);
                _abstractUnitOfWork.Add(studyPaln, UserName());
                Dictionary <int, Subjects> tempIdAndSubject = new Dictionary <int, Subjects>();
                for (int i = 1; i <= studyYear.Count(); i++)
                {
                    //get the subject for this year mean first year and secound year ..etc
                    var subjectsForYear = addStudyPalnDTO.Subjects.Where(c => c.StudyYearId == studyYear[i - 1].Id);
                    //for adding in semester
                    //semester number because we have 2 semester in the year
                    for (int semesterNumber = 1; semesterNumber <= 2; semesterNumber++)
                    {
                        var semester = new StudySemester()
                        {
                            Number      = (short)semesterNumber,
                            StudyYearId = studyYear[i - 1].Id,
                            StudyplanId = studyPaln.Id,
                        };
                        _abstractUnitOfWork.Add(semester, UserName());
                        //get subject for the semester
                        var subjectsForSemester = subjectsForYear.Where(c => c.StudySemesterNumber == semesterNumber);
                        #region explain
                        //the output is like subject for first yaer and semester 1 in the first looping .
                        //exmple of output for Specialization Softwere engineering.
                        // programing 1 , electorinec , math1 , operaing system 1
                        //in the secound loop for the inner loop
                        //out put example
                        //programing 2 , math2 ,e2 ,
                        //in the seocund loop for the outer loop and first loop for inner loop
                        // advance programing 1 , oracle 1 ,operaing system 2
                        // this example depend on input


                        //for git subject without any extande proraty
                        #endregion
                        var finalSubjectAfterFilering = subjectsForSemester.Select(c => c.AddSubjectDTO).ToList();
                        finalSubjectAfterFilering.ForEach(c => c.StudySemesterId = semester.Id);
                        foreach (var subjectDTO in finalSubjectAfterFilering)
                        {
                            var subject = _mapper.Map <Subjects>(subjectDTO);
                            subject.StudySemester = semester;
                            _abstractUnitOfWork.Add(subject, UserName());
                            //foreach (var DependencySubjectId in subjectDTO.DependencySubjectsId)
                            //{
                            //    _abstractUnitOfWork.Repository<DependenceSubject>()
                            //        .Add(new DependenceSubject()
                            //        {
                            //            SubjectId = subject.Id,
                            //            DependsOnSubjectId = DependencySubjectId
                            //        }, UserName());
                            //}
                            tempIdAndSubject[subjectDTO.TempId] = subject;
                            foreach (var EquivalentSubjectId in subjectDTO.EquivalentSubjectsId)
                            {
                                _abstractUnitOfWork.Add(new EquivalentSubject()
                                {
                                    FirstSubject   = subject.Id,
                                    SecoundSubject = EquivalentSubjectId
                                }, UserName());
                            }
                        }
                    }
                }

                foreach (var subjectDTO in addStudyPalnDTO.Subjects.Select(c => c.AddSubjectDTO))
                {
                    var subject = tempIdAndSubject[subjectDTO.TempId];
                    foreach (var DependancySubjectId in subjectDTO.DependencySubjectsId)
                    {
                        var depenacySubjct = tempIdAndSubject[DependancySubjectId];

                        // if this subject can't depand on another subject
                        if (!_subjectServices.CheckCanBeDepandacy(subject, depenacySubjct))
                        {
                            var message = new BadRequestErrors();
                            message.ActionName     = "Add Study Plan";
                            message.ControllerName = "Study Plan";
                            message.Message        = "خطأ في تحديد اعتمادية المواد";
                            return(Conflict());
                        }
                        _abstractUnitOfWork.Add(
                            new DependenceSubject()
                        {
                            SubjectId          = subject.Id,
                            DependsOnSubjectId = depenacySubjct.Id
                        }, UserName());
                    }
                }
                _abstractUnitOfWork.Commit();
                return(Ok());
            }
            catch (Exception)
            {
                return(BadRequestAnonymousError());
            }
        }
Example #17
0
        public IActionResult GetSubjectCouldBeResset(string ssn)
        {
            var studentSubject = _studentSubjectRepositroy.Get(c => c.Ssn == ssn && c.ExamSemester.Year.Blocked == false).ToList();

            return(Ok(studentSubject));
        }
Example #18
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());
            }
        }
Example #19
0
        public IActionResult Get()
        {
            var studyYears = _studyYearRepositroy.Get();

            return(Ok(studyYears));
        }