private void SetAuthentications(EmployeesQualificationsViewModel VM)
        {
            AuthenticationResult Authentication = (AuthenticationResult)Session["Authentication"];

            if (Authentication != null && Authentication.User != null && Authentication.User.IsAdmin)
            {
                VM.HasCreatingAccess
                      = VM.HasDeletingAccess
                      = VM.HasUpdatingAccess = true;
            }
            else
            {
                GroupsObjects Privilage = Authentication.Privilages.FirstOrDefault(e => e.Object.ObjectID == (int)ObjectsEnum.EmployeesQualificationsManage);

                if (Privilage != null)
                {
                    VM.HasCreatingAccess = Privilage.Creating;
                    VM.HasDeletingAccess = Privilage.Deleting;
                    VM.HasUpdatingAccess = Privilage.Updating;
                }
                else
                {
                    VM.HasCreatingAccess
                          = VM.HasDeletingAccess
                          = VM.HasUpdatingAccess = false;
                }
            }
        }
        public ActionResult Manage(int id)
        {
            EmployeesQualificationsViewModel VM = this.GetByEmployeeCodeID(id);

            SetAuthentications(VM);
            return(View(VM));
        }
        public ActionResult Create(EmployeesQualificationsViewModel EmployeeQualificationVM)
        {
            EmployeesQualificationsBLL EmployeeQualification = new EmployeesQualificationsBLL();

            EmployeeQualification.QualificationDegree = new QualificationsDegreesBLL()
            {
                QualificationDegreeID = EmployeeQualificationVM.QualificationDegreeID
            };
            EmployeeQualification.Qualification = new QualificationsBLL()
            {
                QualificationID = EmployeeQualificationVM.QualificationID
            };
            EmployeeQualification.GeneralSpecialization = new GeneralSpecializationsBLL()
            {
                GeneralSpecializationID = EmployeeQualificationVM.GeneralSpecializationID
            };
            EmployeeQualification.EmployeeCode = new EmployeesCodesBLL()
            {
                EmployeeCodeID = EmployeeQualificationVM.EmployeeVM.EmployeeCodeID.Value
            };
            EmployeeQualification.ExactSpecialization = new ExactSpecializationsBLL()
            {
                ExactSpecializationID = EmployeeQualificationVM.ExactSpecializationID
            };
            EmployeeQualification.UniSchName        = EmployeeQualificationVM.UniSchName;
            EmployeeQualification.Department        = EmployeeQualificationVM.Department;
            EmployeeQualification.FullGPA           = EmployeeQualificationVM.FullGPA;
            EmployeeQualification.GPA               = EmployeeQualificationVM.GPA;
            EmployeeQualification.StudyPlace        = EmployeeQualificationVM.StudyPlace;
            EmployeeQualification.GraduationDate    = EmployeeQualificationVM.GraduationDate;
            EmployeeQualification.GraduationYear    = EmployeeQualificationVM.GraduationYear;
            EmployeeQualification.QualificationType = new QualificationsTypesBLL()
            {
                QualificationTypeID = EmployeeQualificationVM.QualificationType.QualificationTypeID
            };
            EmployeeQualification.LoginIdentity = UserIdentity;
            Result result = EmployeeQualification.Add();

            if (result.EnumMember == EmployeesQualificationsValidationEnum.Done.ToString())
            {
            }
            return(Json(new { data = EmployeeQualification.EmployeeQualificationID }, JsonRequestBehavior.AllowGet));
        }
        private EmployeesQualificationsViewModel GetByEmployeeCodeID(int id)
        {
            EmployeesCodesBLL EmployeesCodesBLL = new EmployeesCodesBLL().GetByEmployeeCodeID(id);
            EmployeesQualificationsViewModel EmployeeQualificationVM = new EmployeesQualificationsViewModel();

            EmployeeQualificationVM.EmployeeVM = new EmployeesViewModel()
            {
                EmployeeCodeID           = EmployeesCodesBLL.EmployeeCodeID,
                EmployeeCodeNo           = EmployeesCodesBLL.EmployeeCodeNo,
                EmployeeNameAr           = EmployeesCodesBLL.Employee.EmployeeNameAr,
                EmployeeJobName          = EmployeesCodesBLL.EmployeeCurrentJob != null ? EmployeesCodesBLL.EmployeeCurrentJob.OrganizationJob.Job.JobName : null,
                EmployeeRankName         = EmployeesCodesBLL.EmployeeCurrentJob != null ? EmployeesCodesBLL.EmployeeCurrentJob.OrganizationJob.Rank.RankName : null,
                EmployeeOrganizationName = EmployeesCodesBLL.EmployeeCurrentJob != null ? EmployeesCodesBLL.EmployeeCurrentJob.OrganizationJob.OrganizationStructure.OrganizationName : null,
                HiringDate    = EmployeesCodesBLL.HiringRecord != null ? EmployeesCodesBLL.HiringRecord.JoinDate : (DateTime?)null,
                EmployeeIDNo  = EmployeesCodesBLL.Employee.EmployeeIDNo,
                EmployeeJobNo = EmployeesCodesBLL.EmployeeCurrentJob != null ? EmployeesCodesBLL.EmployeeCurrentJob.OrganizationJob.JobNo : null
            };
            //EmployeeQualificationVM.QualificationDegreeID = new QualificationsDegreesBLL().QualificationDegreeID;
            //EmployeeQualificationVM.QualificationID = new QualificationsBLL().QualificationID;
            //EmployeeQualificationVM.GeneralSpecializationID = new GeneralSpecializationsBLL().GeneralSpecializationID;
            return(EmployeeQualificationVM);
        }