public List <PeoplePickerUser> PostPeoplePickerData(PeoplePickerDataRequest peoplePickerDataRequest) { var currentUser = GetCurrentUser(); var userPickers = new List <PeoplePickerUser>(); var employeeeList = new List <EmployeeInfo>(); var employeePositionList = new List <Biz.Models.EmployeePosition>(); if (peoplePickerDataRequest.EmployeePositions != null) { employeePositionList.AddRange(peoplePickerDataRequest.EmployeePositions.Select(item => new Biz.Models.EmployeePosition { Code = item.Code, Name = item.Name, PositionName = item.PositionName, VietnameseName = item.VietnameseName })); } if (currentUser.EmployeePosition == (int)StringConstant.EmployeePosition.DepartmentHead || currentUser.EmployeePosition == (int)StringConstant.EmployeePosition.BOD) { employeeeList = _employeeInfoDAL.GetAccountByFullNamePosition(peoplePickerDataRequest.Name, string.Empty, employeePositionList); } else { employeeeList = _employeeInfoDAL.GetAccountByFullNamePosition(peoplePickerDataRequest.Name, currentUser.Department.LookupValue, employeePositionList); } foreach (var employeee in employeeeList) { var peoplePickerUser = new PeoplePickerUser(); peoplePickerUser.Email = employeee.Email; peoplePickerUser.Login = employeee.ADAccount.UserName; peoplePickerUser.Name = employeee.FullName; peoplePickerUser.ID = employeee.ID.ToString(); userPickers.Add(peoplePickerUser); } return(userPickers); }
public List <PeoplePickerUser> PostPeoplePickerData(PeoplePickerDataRequest peoplePickerDataRequest) { var currentUser = GetCurrentUser(); var userPickers = new List <PeoplePickerUser>(); var employeeeList = new List <EmployeeInfo>(); if (currentUser.EmployeePosition == (int)StringConstant.EmployeePosition.DepartmentHead || currentUser.EmployeePosition == (int)StringConstant.EmployeePosition.BOD) { employeeeList = _employeeInfoDAL.GetAccountByFullNamePosition(peoplePickerDataRequest.Name, string.Empty, peoplePickerDataRequest.EmployeePositions); } else { employeeeList = _employeeInfoDAL.GetAccountByFullNamePosition(peoplePickerDataRequest.Name, currentUser.Department.LookupValue, peoplePickerDataRequest.EmployeePositions); } foreach (var employeee in employeeeList) { var peoplePickerUser = new PeoplePickerUser(); peoplePickerUser.Email = employeee.Email; peoplePickerUser.Login = employeee.ADAccount.UserName; peoplePickerUser.Name = employeee.FullName; peoplePickerUser.ID = employeee.ID.ToString(); userPickers.Add(peoplePickerUser); } return(userPickers); }
public List <PeoplePickerUser> GetAdditionalApprovers(PeoplePickerDataRequest peoplePickerDataRequest) { var userPickers = new List <PeoplePickerUser>(); if (peoplePickerDataRequest.EmployeePositions != null && peoplePickerDataRequest.EmployeePositions.Count > 0) { EmployeeInfo approver = _employeeInfoDAL.GetByID(Convert.ToInt32(peoplePickerDataRequest.EmployeePositions[0].PositionName)); if (approver != null) { var retObj = new List <EmployeeInfo>(); if (approver.EmployeePosition.LookupId == (int)StringConstant.EmployeePosition.BOD) { retObj = _employeeInfoDAL.GetAccountByFullNamePositionDepartment(peoplePickerDataRequest.Name, new List <int>() { (int)StringConstant.EmployeePosition.BOD }, null); } else if (approver.EmployeePosition.LookupId == (int)StringConstant.EmployeePosition.DepartmentHead) { retObj = _employeeInfoDAL.GetAccountByFullNamePositionDepartment(peoplePickerDataRequest.Name, new List <int>() { (int)StringConstant.EmployeePosition.GroupLeader }, approver.Department.LookupId); } else if (approver.EmployeePosition.LookupId == (int)StringConstant.EmployeePosition.TeamLeader) { retObj = _employeeInfoDAL.GetAccountByFullNamePositionDepartment(peoplePickerDataRequest.Name, new List <int>() { (int)StringConstant.EmployeePosition.AssociateTeamLeader }, approver.Department.LookupId); } else if (approver.EmployeePosition.LookupId == (int)StringConstant.EmployeePosition.ShiftLeader) { retObj = _employeeInfoDAL.GetAccountByFullNamePositionDepartment(peoplePickerDataRequest.Name, new List <int>() { (int)StringConstant.EmployeePosition.ShiftLeader }, approver.Department.LookupId); } foreach (var additionalApprover in retObj) { var peoplePickerUser = new PeoplePickerUser(); peoplePickerUser.Email = additionalApprover.Email; peoplePickerUser.Login = additionalApprover.ADAccount.UserName; peoplePickerUser.Name = additionalApprover.FullName; peoplePickerUser.ID = additionalApprover.ID.ToString(); userPickers.Add(peoplePickerUser); } } } return(userPickers); }
public List <PeoplePickerUser> GetPeoplePickerData(string SearchString) { var currentUser = GetCurrentUser(); var userPickers = new List <PeoplePickerUser>(); var employeeeList = _employeeInfoDAL.GetAccountByFullNameOrId(SearchString, currentUser.Department.LookupValue); foreach (var employeee in employeeeList) { var peoplePickerUser = new PeoplePickerUser(); peoplePickerUser.Email = employeee.Email; peoplePickerUser.Login = employeee.ADAccount.UserName; peoplePickerUser.Name = employeee.FullName; peoplePickerUser.ID = employeee.ID.ToString(); userPickers.Add(peoplePickerUser); } return(userPickers); }
/// <summary> /// This method will send notifications to external users /// </summary> /// <param name="externalSharingRequest"></param> /// <returns></returns> private GenericResponseVM SendExternalNotification(MatterInformationVM matterInformation, string permission, string externalEmail) { var clientUrl = $"{matterInformation.Client.Url}"; try { string roleId = ""; switch (permission.ToLower()) { case "full control": roleId = ((int)SPORoleIdMapping.FullControl).ToString(); break; case "contribute": roleId = ((int)SPORoleIdMapping.Contribute).ToString(); break; case "read": roleId = ((int)SPORoleIdMapping.Read).ToString(); break; } PeoplePickerUser peoplePickerUser = new PeoplePickerUser(); peoplePickerUser.Key = externalEmail; peoplePickerUser.Description = externalEmail; peoplePickerUser.DisplayText = externalEmail; peoplePickerUser.EntityType = ""; peoplePickerUser.ProviderDisplayName = ""; peoplePickerUser.ProviderName = ""; peoplePickerUser.IsResolved = true; EntityData entityData = new EntityData(); entityData.SPUserID = externalEmail; entityData.Email = externalEmail; entityData.IsBlocked = "False"; entityData.PrincipalType = "UNVALIDATED_EMAIL_ADDRESS"; entityData.AccountName = externalEmail; entityData.SIPAddress = externalEmail; peoplePickerUser.EntityData = entityData; string peoplePicker = Newtonsoft.Json.JsonConvert.SerializeObject(peoplePickerUser); peoplePicker = $"[{peoplePicker}]"; string roleValue = $"role:{roleId}"; bool sendEmail = true; bool includeAnonymousLinkInEmail = false; bool propagateAcl = false; bool useSimplifiedRoles = true; string matterLandingPageUrl = $"{clientUrl}/sitepages/{matterInformation.Matter.MatterGuid + ServiceConstants.ASPX_EXTENSION}"; string url = matterLandingPageUrl; string emailBody = $"The following information has been shared with you {matterInformation.Matter.Name}"; string emailSubject = $"The following information has been shared with you {matterInformation.Matter.Name}"; #region Doc Sharing API SharingResult sharingResult = null; using (var clientContext = spoAuthorization.GetClientContext(clientUrl)) { sharingResult = Microsoft.SharePoint.Client.Web.ShareObject(clientContext, url, peoplePicker, roleValue, 0, propagateAcl, sendEmail, includeAnonymousLinkInEmail, emailSubject, emailBody, useSimplifiedRoles); clientContext.Load(sharingResult); clientContext.ExecuteQuery(); } return(null); #endregion } catch (Exception ex) { throw; } }