public string[] GetUserNames(EmployeeStatus status) { return GetUsers(status) .Select(u => u.UserName) .Where(s => !string.IsNullOrEmpty(s)) .ToArray(); }
public IEnumerable<EmployeeWraperFull> GetByStatus(EmployeeStatus status) { var query = CoreContext.UserManager.GetUsers(status).AsEnumerable(); if ("group".Equals(_context.FilterBy, StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(_context.FilterValue)) { var groupId = new Guid(_context.FilterValue); //Filter by group query = query.Where(x => CoreContext.UserManager.IsUserInGroup(x.ID, groupId)); _context.SetDataFiltered(); } return query.Select(x => new EmployeeWraperFull(x)).ToSmartList(); }
public UserInfo[] GetUsers(EmployeeStatus status, EmployeeType type) { var users = GetUsersInternal().Where(u => (u.Status & status) == u.Status); switch (type) { case EmployeeType.User: users = users.Where(u => !u.IsVisitor()); break; case EmployeeType.Visitor: users = users.Where(u => u.IsVisitor()); break; } return users.ToArray(); }
public UserInfo[] Search(string text, EmployeeStatus status) { return Search(text, status, Guid.Empty); }
public UserInfo[] Search(string text, EmployeeStatus status, Guid groupId) { if (text == null || text.Trim() == string.Empty) return new UserInfo[0]; var words = text.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (words.Length == 0) return new UserInfo[0]; var users = groupId == Guid.Empty ? GetUsers(status) : GetUsersByGroup(groupId).Where(u => (u.Status & status) == status); var findUsers = new List<UserInfo>(); foreach (var user in users) { var properties = new string[] { user.LastName ?? string.Empty, user.FirstName ?? string.Empty, user.Title ?? string.Empty, user.Email ?? string.Empty, }; if (IsPropertiesContainsWords(properties, words)) { findUsers.Add(user); } } return findUsers.ToArray(); }
public UserInfo[] GetUsers(EmployeeStatus status) { return GetUsersInternal() .Where(u => (u.Status & status) == u.Status) .ToArray(); }
public SetEmployeeStatusAction(EmployeeStatus status, bool loadFromApi) => (Status, LoadFromApi) = (status, loadFromApi);
/// <summary> /// Resets content /// </summary> public override void Clear() { base.Clear(); m_UserName = ""; m_FirstName = ""; m_LastName = ""; m_EMail = ""; m_Birthday = null; m_Sex = Sex.Unknown; m_Status = EmployeeStatus.Default; m_Terminated = null; m_Department = ""; m_WorkFrom = null; m_Location = ""; m_Notes = ""; m_Groups = new TlUserGroupCollection(); m_Contacts = new ContactCollection(); m_AvatarURL = ""; m_AvatarMediumURL = ""; }
public static string GetEmployees(Guid productID, EmployeeStatus empStatus) { return VirtualPathUtility.ToAbsolute("~/employee.aspx") + "?" + GetProductParamsPair(productID) + (empStatus == EmployeeStatus.Terminated ? "&es=0" : string.Empty); }
public IEnumerable<EmployeeWraperFull> UpdateUserStatus(EmployeeStatus status, IEnumerable<Guid> userIds) { SecurityContext.DemandPermissions(Core.Users.Constants.Action_EditUser); var users = userIds .Where(userId => !userId.Equals(Core.Users.Constants.LostUser.ID)) .Select(userId => CoreContext.UserManager.GetUsers(userId)) .ToList(); foreach (var user in users) { if (user.IsOwner() || user.IsMe()) continue; switch (status) { case EmployeeStatus.Active: if (user.Status == EmployeeStatus.Terminated) { if (TenantStatisticsProvider.GetUsersCount() < TenantExtra.GetTenantQuota().ActiveUsers || user.IsVisitor()) { user.Status = EmployeeStatus.Active; CoreContext.UserManager.SaveUserInfo(user); } } break; case EmployeeStatus.Terminated: user.Status = EmployeeStatus.Terminated; CoreContext.UserManager.SaveUserInfo(user); break; } } MessageService.Send(_context, MessageAction.UsersUpdatedStatus, users.Select(x => x.DisplayUserName(false))); return users.Select(user => new EmployeeWraperFull(user)).ToSmartList(); }
public static Dictionary<Guid, string> GetAccessSubjectTo(Contact contact, EmployeeStatus employeeStatus) { return GetAccessSubjectTo((ISecurityObjectId)contact, employeeStatus); }
public IEnumerable<EmployeeWraperFull> GetAdvancedPeopleSearch(EmployeeStatus status, string query) { return GetAdvanced(status, query); }
public IEnumerable<EmployeeWraperFull> GetAdvanced(EmployeeStatus status, string query) { try { var list = CoreContext.UserManager.GetUsers(status).AsEnumerable(); if ("group".Equals(_context.FilterBy, StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(_context.FilterValue)) { var groupId = new Guid(_context.FilterValue); //Filter by group list = list.Where(x => CoreContext.UserManager.IsUserInGroup(x.ID, groupId)); _context.SetDataFiltered(); } list = list.Where(x => x.FirstName != null && x.FirstName.IndexOf(query, StringComparison.OrdinalIgnoreCase) > -1 || (x.LastName != null && x.LastName.IndexOf(query, StringComparison.OrdinalIgnoreCase) != -1) || (x.UserName != null && x.UserName.IndexOf(query, StringComparison.OrdinalIgnoreCase) != -1) || (x.Email != null && x.Email.IndexOf(query, StringComparison.OrdinalIgnoreCase) != -1) || (x.Contacts != null && x.Contacts.Any(y => y.IndexOf(query, StringComparison.OrdinalIgnoreCase) != -1))); var usr = list.Select(x => new EmployeeWraperFull(x)).AsEnumerable(); return usr.ToSmartList(); } catch (Exception error) { LogManager.GetLogger("ASC.Web").Error(error); } return null; }
public IEnumerable<EmployeeWraperFull> GetByStatus(EmployeeStatus status) { if (CoreContext.Configuration.Personal) throw new MethodAccessException("Method not available on personal.onlyoffice.com"); var query = CoreContext.UserManager.GetUsers(status).AsEnumerable(); if ("group".Equals(_context.FilterBy, StringComparison.OrdinalIgnoreCase) && !string.IsNullOrEmpty(_context.FilterValue)) { var groupId = new Guid(_context.FilterValue); //Filter by group query = query.Where(x => CoreContext.UserManager.IsUserInGroup(x.ID, groupId)); _context.SetDataFiltered(); } return query.Select(x => new EmployeeWraperFull(x)).ToSmartList(); }
public UserInfo[] Search(string text, EmployeeStatus status) { return(Search(text, status, Guid.Empty)); }
private static Dictionary <Guid, String> GetAccessSubjectTo(ISecurityObjectId entity, EmployeeStatus employeeStatus) { var allAces = CoreContext.AuthorizationManager.GetAcesWithInherits(Guid.Empty, _actionRead.ID, entity, GetCRMSecurityProvider()) .Where(item => item.SubjectId != Constants.GroupEveryone.ID); var result = new Dictionary <Guid, String>(); foreach (var azRecord in allAces) { if (!result.ContainsKey(azRecord.SubjectId)) { var userInfo = CoreContext.UserManager.GetUsers(azRecord.SubjectId); var displayName = employeeStatus == EmployeeStatus.All || userInfo.Status == employeeStatus ? userInfo.DisplayUserName() : Constants.LostUser.DisplayUserName(); result.Add(azRecord.SubjectId, displayName); } } return(result); }
private void ImportEmployeeDetail(string fileName) { Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; Excel.Range range; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Open(fileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2); range = xlWorkSheet.UsedRange; for (var row = 2; row <= range.Rows.Count; row++) { string nik = (string)(range.Cells[row, 1] as Excel.Range).Value2; string branch = (string)(range.Cells[row, 2] as Excel.Range).Value2; string department = (string)(range.Cells[row, 3] as Excel.Range).Value2; string departmentDate = (string)(range.Cells[row, 4] as Excel.Range).Value2; string grade = (string)(range.Cells[row, 5] as Excel.Range).Value2; string gradeDate = (string)(range.Cells[row, 6] as Excel.Range).Value2; string occupation = (string)(range.Cells[row, 7] as Excel.Range).Value2; string occupationDate = (string)(range.Cells[row, 8] as Excel.Range).Value2; string isTaskForce = (string)(range.Cells[row, 9] as Excel.Range).Value2; string principal = (string)(range.Cells[row, 10] as Excel.Range).Value2; string principalDate = (string)(range.Cells[row, 11] as Excel.Range).Value2; string status = (string)(range.Cells[row, 12] as Excel.Range).Value2; string paymentType = (string)(range.Cells[row, 13] as Excel.Range).Value2; string statusDate = (string)(range.Cells[row, 14] as Excel.Range).Value2; string jamsostekNumber = (string)(range.Cells[row, 15] as Excel.Range).Value2; string jamsostekDate = (string)(range.Cells[row, 16] as Excel.Range).Value2; string salaryDate = (string)(range.Cells[row, 17] as Excel.Range).Value2; double mainSalary = (double)(range.Cells[row, 18] as Excel.Range).Value2; double occupationAllowance = (double)(range.Cells[row, 19] as Excel.Range).Value2; double fixedAllowance = (double)(range.Cells[row, 20] as Excel.Range).Value2; double healthAllowance = (double)(range.Cells[row, 21] as Excel.Range).Value2; double communicationAllowance = (double)(range.Cells[row, 22] as Excel.Range).Value2; double supervisionAllowance = (double)(range.Cells[row, 23] as Excel.Range).Value2; double otherAllowance = (double)(range.Cells[row, 24] as Excel.Range).Value2; double fuelAllowance = (double)(range.Cells[row, 25] as Excel.Range).Value2; double vehicleAllowance = (double)(range.Cells[row, 26] as Excel.Range).Value2; double lunchAllowance = (double)(range.Cells[row, 27] as Excel.Range).Value2; double transportAllowance = (double)(range.Cells[row, 28] as Excel.Range).Value2; if (nik == null) { break; } var employee = employeeRepository.GetByCode(nik); if (employee != null) { //Department var employeeDepartment = new EmployeeDepartment(); employeeDepartment.EmployeeId = employee.ID; employeeDepartment.EffectiveDate = DateTime.ParseExact(departmentDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); employeeDepartment.BranchId = branchRepository.GetByName(branch).ID; employeeDepartment.DepartmentId = departmentRepository.GetByName(department).ID; employeeDepartmentRepository.Save(employeeDepartment); //Grade var employeeGrade = new EmployeeGrade(); employeeGrade.EmployeeId = employee.ID; employeeGrade.EffectiveDate = DateTime.ParseExact(gradeDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); employeeGrade.GradeId = gradeRepository.GetByName(grade).ID; employeeGradeRepository.Save(employeeGrade); //Occupation var employeeOccupation = new EmployeeOccupation(); employeeOccupation.EmployeeId = employee.ID; employeeOccupation.EffectiveDate = DateTime.ParseExact(occupationDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); employeeOccupation.OccupationId = occupationRepository.GetByName(occupation).ID; employeeOccupation.IsTaskForce = isTaskForce.ToUpper() == "Y" ? true : false; employeeOccupationRepository.Save(employeeOccupation); //Status var employeeStatus = new EmployeeStatus(); employeeStatus.EmployeeId = employee.ID; employeeStatus.EffectiveDate = DateTime.ParseExact(statusDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); employeeStatus.IsEnd = false; employeeStatus.EndDate = DateTime.Now; employeeStatus.Status = status; employeeStatus.PaymentType = paymentType; employeeStatusRepository.Save(employeeStatus); //Insurance var insurancePrograms = insuranceProgramRepository.GetByInsuranceId(Guid.Empty); foreach (var program in insurancePrograms) { var employeeInsurance = new EmployeeInsurance(); employeeInsurance.EmployeeId = employee.ID; employeeInsurance.InsuranceId = Guid.Empty; employeeInsurance.InsuranceProgramId = program.ID; employeeInsurance.EffectiveDate = DateTime.ParseExact(jamsostekDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); employeeInsurance.EndDate = DateTime.Now; employeeInsurance.InsuranceNumber = jamsostekNumber; employeeInsuranceRepository.Save(employeeInsurance); } //Salary var employeeSalary = new EmployeeSalary(); employeeSalary.EmployeeId = employee.ID; employeeSalary.EffectiveDate = DateTime.ParseExact(salaryDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); employeeSalary.MainSalary = Convert.ToDecimal(mainSalary); employeeSalary.OccupationAllowancePerMonth = Convert.ToDecimal(occupationAllowance); employeeSalary.FixedAllowancePerMonth = Convert.ToDecimal(fixedAllowance); employeeSalary.HealthAllowancePerMonth = Convert.ToDecimal(healthAllowance); employeeSalary.CommunicationAllowancePerMonth = Convert.ToDecimal(communicationAllowance); employeeSalary.SupervisionAllowancePerMonth = Convert.ToDecimal(supervisionAllowance); employeeSalary.OtherAllowance = Convert.ToDecimal(otherAllowance); employeeSalary.FuelAllowancePerDays = Convert.ToDecimal(fuelAllowance); employeeSalary.VehicleAllowancePerDays = Convert.ToDecimal(vehicleAllowance); employeeSalary.LunchAllowancePerDays = Convert.ToDecimal(lunchAllowance); employeeSalary.TransportationAllowancePerDays = Convert.ToDecimal(transportAllowance); employeeSalary.JamsostekAmount = 0; employeeSalary.PersonalDebt = 0; employeeSalary.OtherFee = 0; employeeSalaryRepository.Save(employeeSalary); UpdateEmployeeCurrentInfo(employee.ID, branch, department, grade, occupation, status, paymentType); } } xlWorkBook.Close(true, null, null); xlApp.Quit(); ReleaseObject(xlWorkSheet); ReleaseObject(xlWorkBook); ReleaseObject(xlApp); }
public static Dictionary <Guid, string> GetAccessSubjectTo(Contact contact, EmployeeStatus employeeStatus) { return(GetAccessSubjectTo((ISecurityObjectId)contact, employeeStatus)); }
public IEnumerable<EmployeeWraperFull> GetByFilter(EmployeeStatus? employeeStatus, Guid? groupId, EmployeeActivationStatus? activationStatus, EmployeeType? employeeType, bool? isAdministrator) { var isAdmin = CoreContext.UserManager.GetUsers(SecurityContext.CurrentAccount.ID).IsAdmin(); var status = isAdmin ? EmployeeStatus.All : EmployeeStatus.Default; if (employeeStatus != null) { switch (employeeStatus) { case EmployeeStatus.Terminated: case EmployeeStatus.All: status = isAdmin ? (EmployeeStatus)employeeStatus : EmployeeStatus.Default; break; default: status = (EmployeeStatus)employeeStatus; break; } } var users = String.IsNullOrEmpty(_context.FilterValue) ? CoreContext.UserManager.GetUsers(status).AsEnumerable() : CoreContext.UserManager.Search(_context.FilterValue, status).AsEnumerable(); if (groupId != null && !groupId.Equals(Guid.Empty)) { users = users.Where(x => CoreContext.UserManager.IsUserInGroup(x.ID, (Guid)groupId)); } if (activationStatus != null) { users = activationStatus == EmployeeActivationStatus.Activated ? users.Where(x => x.ActivationStatus == EmployeeActivationStatus.Activated) : users.Where(x => x.ActivationStatus == EmployeeActivationStatus.NotActivated || x.ActivationStatus == EmployeeActivationStatus.Pending); } if (employeeType != null) { switch (employeeType) { case EmployeeType.User: users = users.Where(x => !x.IsVisitor()); break; case EmployeeType.Visitor: users = users.Where(x => x.IsVisitor()); break; } } if (isAdministrator.HasValue) { if (isAdministrator.Value) { users = users.Where(x => x.IsAdmin()); } } _context.TotalCount = users.Count(); users = _context.SortDescending ? users.OrderByDescending(r => r.DisplayUserName()) : users.OrderBy(r => r.DisplayUserName()); users = users.Skip((int)_context.StartIndex).Take((int)_context.Count - 1); _context.SetDataSorted(); _context.SetDataPaginated(); return users.Select(x => new EmployeeWraperFull(x, _context)).ToSmartList(); }
public UserInfo[] GetUsersByGroup(Guid groupId, EmployeeStatus employeeStatus = EmployeeStatus.Default) { var refs = GetRefsInternal(); return GetUsers(employeeStatus).Where(u => IsUserInGroupInternal(u.ID, groupId, refs)).ToArray(); }
private static Dictionary<Guid, String> GetAccessSubjectTo(ISecurityObjectId entity, EmployeeStatus employeeStatus) { var allAces = CoreContext.AuthorizationManager.GetAcesWithInherits(Guid.Empty, _actionRead.ID, entity, GetCRMSecurityProvider()) .Where(item => item.SubjectId != Constants.GroupEveryone.ID); var result = new Dictionary<Guid, String>(); foreach (var azRecord in allAces) { if (!result.ContainsKey(azRecord.SubjectId)) { var userInfo = CoreContext.UserManager.GetUsers(azRecord.SubjectId); var displayName = employeeStatus == EmployeeStatus.All || userInfo.Status == employeeStatus ? userInfo.DisplayUserName() : Constants.LostUser.DisplayUserName(); result.Add(azRecord.SubjectId, displayName); } } return result; }
public UserInfo[] GetUsers(EmployeeStatus status) { return GetUsers(status, EmployeeType.All); }
public List<UserInfo> GetUsers(EmployeeStatus status, int tenant) { var q = GetUserQuery(tenant, default(DateTime)); return ExecList(q).ConvertAll(r => ToUser(r)).Where(r => r.Status == status).ToList(); }
/// <summary> /// 恢复 /// </summary> private void CallRestart() { try { string value = GetCall("RESTART", GlobalData.WindowNo); if (value != "0") { ShowErrorMsg(value); } else { _Page.PauseButtonTextBlock.Text = "暂停"; _Page.btnPauseReStart.CommandParameter = "PAUSE"; _Page.PauseButtonImage.Source = new BitmapImage(new Uri(@"Resources/Images/pause.png", UriKind.RelativeOrAbsolute)); _NowEmployeeStaus = EmployeeStatus.Normal; } } catch (Exception ex) { ErrorLog.WriteLog("CallRestart:", ex.Message); } }
public static string GetEmployees(EmployeeStatus empStatus) { return ToAbsolute("~/products/people/") + (empStatus == EmployeeStatus.Terminated ? "#type=disabled" : string.Empty); }
public static string GetEmployees(EmployeeStatus empStatus) { return(ToAbsolute("~/products/people/") + (empStatus == EmployeeStatus.Terminated ? "#type=disabled" : string.Empty)); }