public Dictionary<ProjectActionType, bool> GetDefaultProjectPermissions(EmployeeRole employeeRole)
		{
			switch (employeeRole)
			{
				case EmployeeRole.ProjectManager:
					return new Dictionary<ProjectActionType, bool>
						{
							{ ProjectActionType.ViewProject, true},
							{ ProjectActionType.ViewTasks, true},
							{ ProjectActionType.ModifyTasks, true},
							{ ProjectActionType.ViewEmployees, true},
							{ ProjectActionType.ModifyEmployees, true},
							{ ProjectActionType.ViewTimeReports, true},
							{ ProjectActionType.ViewBilling, true},
							{ ProjectActionType.ViewStatistics, true},
							{ ProjectActionType.Export, true}
						};
				case EmployeeRole.Leader:
					return new Dictionary<ProjectActionType, bool>
						{
							{ ProjectActionType.ViewProject, true},
							{ ProjectActionType.ViewTasks, true},
							{ ProjectActionType.ModifyTasks, true},
							{ ProjectActionType.ViewEmployees, true},
							{ ProjectActionType.ModifyEmployees, true},
							{ ProjectActionType.ViewTimeReports, true},
							{ ProjectActionType.ViewBilling, true},
							{ ProjectActionType.ViewStatistics, true},
							{ ProjectActionType.Export, true}
						};
				case EmployeeRole.Developer:
					return new Dictionary<ProjectActionType, bool>
						{
							{ ProjectActionType.ViewProject, true},
							{ ProjectActionType.ViewTasks, true},
							{ ProjectActionType.ModifyTasks, true},
							{ ProjectActionType.ViewEmployees, true},
							{ ProjectActionType.ModifyEmployees, true},
							{ ProjectActionType.ViewBilling, true},
							{ ProjectActionType.ViewTimeReports, true},
							{ ProjectActionType.ViewStatistics, true},
							{ ProjectActionType.Export, true}
						};
				case EmployeeRole.Tester:
					return new Dictionary<ProjectActionType, bool>
						{
							{ ProjectActionType.ViewProject, true},
							{ ProjectActionType.ViewTasks, true},
							{ ProjectActionType.ModifyTasks, true},
							{ ProjectActionType.ViewEmployees, true},
							{ ProjectActionType.ModifyEmployees, true},
							{ ProjectActionType.ViewBilling, true},
							{ ProjectActionType.ViewTimeReports, true},
							{ ProjectActionType.ViewStatistics, true},
							{ ProjectActionType.Export, true}
						};
				default:
					return new Dictionary<ProjectActionType, bool>();
			}
		}
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool Add(EmployeeRole model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into employeerole(");
            strSql.Append("ID,EMPLOYEEID,ROLEID)");
            strSql.Append(" values (");
            strSql.Append("@ID,@EMPLOYEEID,@ROLEID)");
            MySqlParameter[] parameters =
            {
                new MySqlParameter("@ID",         MySqlDbType.VarChar, 40),
                new MySqlParameter("@EMPLOYEEID", MySqlDbType.VarChar, 40),
                new MySqlParameter("@ROLEID",     MySqlDbType.VarChar, 40)
            };
            parameters[0].Value = model.ID;
            parameters[1].Value = model.EMPLOYEEID;
            parameters[2].Value = model.ROLEID;

            int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#3
0
 protected void GridViewResult_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     try
     {
         switch (e.CommandName.ToLower())
         {
         case "remove":
         {
             EmployeeRole.DeleteEmployeeRoleByEmployeeRoleId(Convert.ToInt32(e.CommandArgument));
             BindEmployeeRoleList();
             BindEmployeeRole();
             break;
         }
         }
     }
     catch (System.Data.SqlClient.SqlException sqlEx)
     {
         LabelError.Text = "";
         for (int i = 0; i < sqlEx.Errors.Count; i++)
         {
             LabelError.Text += (sqlEx.Errors[i].Message + "<br />");
         }
         PanelError.Visible = true;
     }
 }
示例#4
0
        public void Add(EmployeeCreateModel employeeModel, string email)
        {
            EmployeeRole role = _context.EmployeeRole.FirstOrDefault(r => r.Owner == email && r.Id == employeeModel.RoleId);

            if (role == null)
            {
                throw new Exception("No permission!!!");
            }
            Employee checkId = _context.Employee.FirstOrDefault(e => e.EmployeeCompanyId == employeeModel.EmployeeCompanyId && e.Owner == email);

            if (checkId != null)
            {
                throw new Exception("Id Exist!!!");
            }
            Employee employee = new Employee()
            {
                EmployeeCompanyId = employeeModel.EmployeeCompanyId,
                FullName          = employeeModel.FullName,
                RoleId            = employeeModel.RoleId,
                Owner             = email,
                Manpower          = employeeModel.Manpower,
                Active            = true
            };

            _context.Add(employee);
            _context.SaveChanges();
        }
        private void Submit(object sender, RoutedEventArgs e)
        {
            #region
            string       fName    = tbxFirstName.Text;
            string       lName    = tbxLastName.Text;
            string       uName    = tbxUsername.Text;
            string       password = tbxPassword.Text;
            string       phone    = tbxPhoneNumber.Text;
            string       address  = tbxAddress.Text;
            string       email    = tbxEmailAddress.Text;
            EmployeeRole role     = CheckRole();
            #endregion

            if (ViewModel.ValidateInput(fName, lName, uName, password, phone, address, email))
            {
                if (ViewModel.CreateNewEmployee(fName, lName, uName, password, phone, address, email, role))
                {
                    MessageBox.Show("User Created");
                    GoToPreviousWindow();
                }
                else
                {
                    MessageBox.Show("Could not add employee successfully, try with diffreren username");
                }
            }
            ShowErrorMessages();
        }
示例#6
0
        private void BindEmployeeRole()
        {
            DropDownListEmployeeRole.Items.Clear();
            string[] roleList = Roles.GetAllRoles();

            foreach (string role in roleList)
            {
                DropDownListEmployeeRole.Items.Add(new ListItem(role, role));
            }
            ListItem listItem = new ListItem("", "0");

            DropDownListEmployeeRole.Items.Add(listItem);

            List <EmployeeRole> employeeRole = EmployeeRole.GetEmployeeRoleListByEmployeeId(this.employeeId);

            foreach (EmployeeRole employeeRoleItem in employeeRole)
            {
                DropDownListEmployeeRole.Items.Remove(DropDownListEmployeeRole.Items.FindByValue(employeeRoleItem.Description));
            }

            if (DropDownListEmployeeRole.Items.FindByValue("Representative") != null)
            {
                DropDownListEmployeeRole.Items.FindByValue("Representative").Selected = true;
            }
            else
            {
                DropDownListEmployeeRole.Items.FindByValue("0").Selected = true;
            }
            DropDownListEmployeeRole.Items.Remove("Administrator");
        }
        public async Task <IActionResult> Edit(int id, [Bind("EmployeeId,PatientTypeId")] EmployeeRole employeeRole)
        {
            if (id != employeeRole.EmployeeId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(employeeRole);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmployeeRoleExists(employeeRole.EmployeeId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["EmployeeId"]    = new SelectList(_context.Employees, "EmployeeId", "EmployeeId", employeeRole.EmployeeId);
            ViewData["PatientTypeId"] = new SelectList(_context.PatientTypes, "PatientTypeId", "PatientTypeId", employeeRole.PatientTypeId);
            return(View(employeeRole));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="fromDate"></param>
        /// <param name="toDate"></param>
        /// <returns></returns>


        public ActionResult AddEmployee()
        {
            IQueryable <Location> Loc      = this.db.Locations;
            List <SelectListItem> Location = new List <SelectListItem>();

            Location = (from dropdownfill in Loc.AsEnumerable().OrderBy(x => x.Name)
                        select new SelectListItem     // data()
            {
                Value = dropdownfill.Id.ToString(),
                Text = dropdownfill.Name
            }).ToList();

            ViewBag.LocationList = Location;

            IQueryable <Role>     roles   = this.db.Roles;
            List <SelectListItem> emprole = new List <SelectListItem>();

            emprole = (from dropdownfill in roles.AsEnumerable().OrderBy(x => x.Name)
                       select new SelectListItem     // data()
            {
                Value = dropdownfill.Id.ToString(),
                Text = dropdownfill.Name
            }).ToList();

            ViewBag.RoleList = emprole;

            Employee     AddEmp   = new Employee();
            EmployeeRole emproles = new EmployeeRole();

            return(PartialView("_PVAddEmployee", AddEmp));
        }
示例#9
0
        private bool RoleHasCorrectPermissions(EmployeeRole role, ApiAuthRequirement requirements)
        {
            if (requirements.AdministerCompany && !role.CanAdministerCompany)
            {
                return false;
            }

            if (requirements.AdministerVenue && !role.CanAdministerVenue)
            {
                return false;
            }

            if (requirements.WorkWithCompany && !role.CanWorkWithCompany)
            {
                return false;
            }

            if (requirements.WorkWithVenue && !role.CanWorkWithVenue)
            {
                return false;
            }

            if (requirements.AdministerSystem && !role.CanAdministerSystem)
            {
                return false;
            }

            return true;
        }
        public IHttpActionResult PutEmployeeRole(int id, EmployeeRole employeeRole)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != employeeRole.RoldeId)
            {
                return(BadRequest());
            }

            db.Entry(employeeRole).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EmployeeRoleExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#11
0
        /// <summary>
        /// 新增員工身分資料
        /// </summary>
        public bool InsertEmployeeRoleData(RoleParams param)
        {
            InsertResult insResult = new InsertResult()
            {
                IsSuccess = false
            };

            using (EmployeeAuthorityDataAccess empAuthDao = new EmployeeAuthorityDataAccess())
            {
                EmployeeRole entity = new EmployeeRole()
                {
                    RoleName        = param.RoleName,
                    RoleDisplayName = param.RoleDisplayName,
                    SortNo          = param.SortNo,
                    PostAccount     = param.PostAccount,
                    PostDate        = DateTime.Now
                };

                insResult = empAuthDao.InsertEmployeeRoleData(entity, param.CopyPrivilegeFromRoleName);
                dbErrMsg  = empAuthDao.GetErrMsg();

                if (insResult.IsSuccess)
                {
                    param.RoleId = entity.RoleId;
                }
                else if (empAuthDao.GetSqlErrNumber() == 50000 && empAuthDao.GetSqlErrState() == 2)
                {
                    param.HasRoleBeenUsed = true;
                }
            }

            return(insResult.IsSuccess);
        }
示例#12
0
 public void DeleteEmployeeRole(int EmpID, int RoleID)
 {
     try
     {
         EmployeeRole employeerole = new EmployeeRole() { EmpID=EmpID, RoleID= RoleID};
         context.EmployeeRoles.DeleteObject(employeerole);
         context.SaveChanges();
     }
     catch (Exception ex)
     {
         //Include catch blocks for specific exceptions first,
         //and handle or log the error as appropriate in each.
         //Include a generic catch block like this one last.
         throw ex;
     }
 }
		public Dictionary<ProjectActionType, bool> GetDefaultProjectPermissions(EmployeeRole employeeRole)
		{
			return new Dictionary<ProjectActionType, bool>
				{
					{ProjectActionType.ViewProject, true},
					
					{ProjectActionType.ViewTasks, true},
					{ProjectActionType.ModifyTasks, true},
					
					{ProjectActionType.ViewEmployees, true},
					{ProjectActionType.ModifyEmployees, true},
					
					{ProjectActionType.ViewBilling, true},
					{ProjectActionType.ViewStatistics, true},
					{ProjectActionType.Export, true},
					{ProjectActionType.ViewTimeReports, true},
				};
		}
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="employeesTabViewModel">Employess tab view model</param>
 /// <param name="employeeEditWindow">Employee edit window</param>
 /// <param name="employee">Employee</param>
 public EmployeeEditWindowViewModel(EmployeesTabViewModel employeesTabViewModel,
     EmployeeEditWindow employeeEditWindow, Employee employee)
     : base(employeesTabViewModel, employeeEditWindow, employee)
 {
     if (Update)
     {
         EditUser = false;
         if (employee is Administrator)
         {
             Employee = new Administrator
             {
                 OwnerID = employee.OwnerID,
                 Name = employee.Name,
                 Surname = employee.Surname,
                 PESEL = employee.PESEL,
                 Telephone = employee.Telephone,
                 City = employee.City,
                 Street = employee.Street,
                 HouseNumber = employee.HouseNumber,
                 LocalNumber = employee.LocalNumber,
                 BankAccountNumber = employee.BankAccountNumber,
                 Salary = employee.Salary,
                 Username = employee.Username
             };
             EmployeeRole = EmployeeRole.Administrator;
             _orginalRole = EmployeeRole.Administrator;
         }
         else if (employee is Menager)
         {
             Employee = new Menager
             {
                 OwnerID = employee.OwnerID,
                 Name = employee.Name,
                 Surname = employee.Surname,
                 PESEL = employee.PESEL,
                 Telephone = employee.Telephone,
                 City = employee.City,
                 Street = employee.Street,
                 HouseNumber = employee.HouseNumber,
                 LocalNumber = employee.LocalNumber,
                 BankAccountNumber = employee.BankAccountNumber,
                 Salary = employee.Salary,
                 Username = employee.Username
             };
             EmployeeRole = EmployeeRole.Menager;
             _orginalRole = EmployeeRole.Menager;
         }
         else if (employee is Dispatcher)
         {
             Employee = new Dispatcher
             {
                 OwnerID = employee.OwnerID,
                 Name = employee.Name,
                 Surname = employee.Surname,
                 PESEL = employee.PESEL,
                 Telephone = employee.Telephone,
                 City = employee.City,
                 Street = employee.Street,
                 HouseNumber = employee.HouseNumber,
                 LocalNumber = employee.LocalNumber,
                 BankAccountNumber = employee.BankAccountNumber,
                 Salary = employee.Salary,
                 Username = employee.Username
             };
             EmployeeRole = EmployeeRole.Dispatcher;
             _orginalRole = EmployeeRole.Dispatcher;
         }
         else
         {
             Employee = new Employee
             {
                 OwnerID = employee.OwnerID,
                 Name = employee.Name,
                 Surname = employee.Surname,
                 PESEL = employee.PESEL,
                 Telephone = employee.Telephone,
                 City = employee.City,
                 Street = employee.Street,
                 HouseNumber = employee.HouseNumber,
                 LocalNumber = employee.LocalNumber,
                 BankAccountNumber = employee.BankAccountNumber,
                 Salary = employee.Salary,
                 Username = employee.Username
             };
             EmployeeRole = EmployeeRole.Other;
             _orginalRole = EmployeeRole.Other;
         }
     }
     else
     {
         EditUser = true;
         Employee = new Employee();
     }
     using (var con = new BaudiDbContext())
     {
         _currentUserNames = Update ? con.Employees.Where(e => e.OwnerID != employee.OwnerID).Select(e => e.Username).ToList() : con.Employees.Select(e => e.Username).ToList();
     }
 }
示例#15
0
 public void InsertEmployeeRole(EmployeeRole employeerole)
 {
     try
     {
         context.EmployeeRoles.AddObject(employeerole);
         context.SaveChanges();
     }
     catch (Exception ex)
     {
         //Include catch blocks for specific exceptions first,
         //and handle or log the error as appropriate in each.
         //Include a generic catch block like this one last.
         throw ex;
     }
 }