private void ManageRestaurantEmployees_Load(object sender, EventArgs e)
 {
     unitOfWork = new UnitOfWork();
     accessLevel = unitOfWork.AccessLevelRepository.Get(x => x.Id == AccessLevelID,null,"Employees").FirstOrDefault();
     lblRestaurantName.Text = accessLevel.Name;
     Rebind();
 }
        private void AddEditAccessLevel_Load(object sender, EventArgs e)
        {
            if (AccessLevelId != null)
            {
                var unitOfWork = new UnitOfWork();

                WorkingLevel = unitOfWork.AccessLevelRepository.GetByID(AccessLevelId);
                textBox1.Text = WorkingLevel.Name;
                numericUpDown1.Value = WorkingLevel.Level;
            }
        }
        private void ManagePermissions_Load(object sender, EventArgs e)
        {
            var unitOfWork = new UnitOfWork();

            WorkingLevel = unitOfWork.AccessLevelRepository.Get(x => x.Id == AccessLevelId, includeProperties: "Permissions").FirstOrDefault();
            label3.Text = WorkingLevel.Name;

            foreach (var v in AllPermissions.PermissionList())
            {
                checkedListBox1.Items.Add(v.PermissionName, v.PermissionValue);
            }
            for(int i = 0; i<WorkingLevel.Permissions.Count; i++)
            {
                if(checkedListBox1.Items.IndexOf(WorkingLevel.Permissions.ElementAt(i).PermissionName)!=-1)
                {
                    checkedListBox1.SetItemChecked(checkedListBox1.Items.IndexOf(WorkingLevel.Permissions.ElementAt(i).PermissionName), WorkingLevel.Permissions.ElementAt(i).PermissionValue);
                }
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(textBox1.Text))
            {

                var unitOfWork = new UnitOfWork();
                if (AccessLevelId == null)
                {
                    WorkingLevel = new AccessLevel() { Level = (int)numericUpDown1.Value, Name = textBox1.Text };
                    unitOfWork.AccessLevelRepository.Insert(WorkingLevel);

                }
                else
                {
                    WorkingLevel.Name = textBox1.Text;
                    WorkingLevel.Level = (int)numericUpDown1.Value;
                    unitOfWork.AccessLevelRepository.Update(WorkingLevel);
                }
                unitOfWork.Save();

                this.DialogResult = DialogResult.OK;
            }
        }