/// <summary> /// Get user info. /// </summary> /// <param name="id">user id</param> /// <returns>Personnel Object</returns> public IPersonnelObject GetUserInfo(int id) { var objUserDetails = (from UD in this.dataContext.UserDetails join U in this.dataContext.Users on UD.UserID equals U.UserID where UD.IsDeleted == false && U.UserID == id select new { U.UserID, U.UserName, UD.LastName, UD.CreatedBy, UD.CreatedDate, UD.FirstName, U.Initial, UD.Title, UD.PartnerTypeID, UD.UserTypeID, UD.IsInternationalPartner, UD.OfficeLocation, UD.isResigned, UD.ResignationDate, UD.DateLeft, UD.EmailAddress, U.Department, UD.IsEmailNotificationRequired }).ToList(); PersonnelObject po = new PersonnelObject(); if (objUserDetails.Count > 0) { po = new PersonnelObject(); var a = objUserDetails[0]; po.UserID = a.UserID; po.LastName = a.LastName; po.FirstName = a.FirstName; po.Initials = a.Initial; po.DateLeft = a.DateLeft; po.DateResigned = a.ResignationDate; po.EmailAddress = a.EmailAddress; po.Office = a.OfficeLocation; po.Title = a.Title; po.UserName = a.UserName; po.Department = a.Department; po.LastModifiedDate = a.CreatedDate.GetValueOrDefault(); po.isEmailNotification = a.IsEmailNotificationRequired.GetValueOrDefault(); if (a.IsInternationalPartner == true) { po.International = "Y"; } else { po.International = "N"; } if (a.PartnerTypeID == 1) { po.Grade = "A"; } else { po.Grade = "B"; } if (a.isResigned == true) { po.Resigned = "Y"; } else { po.Resigned = "N"; } if (a.UserTypeID == 1) { po.AdminRights = "Y"; } else if (a.UserTypeID == 2) { po.AdminRights = "S"; } else { po.AdminRights = "N"; } var proxy = GetProxy(a.UserID); if (proxy != null) { var proxyobj = this.dataContext.UserDetails.FirstOrDefault(x => x.UserID == proxy && x.IsDeleted == false); var proxyuserobj = this.dataContext.Users.FirstOrDefault(x => x.UserID == proxy); po.proxy = proxyobj.Title + " " + proxyobj.FirstName + " " + proxyobj.LastName + " (" + proxyuserobj.Initial + ")"; } else { po.proxy = ""; } return(po); } else { return(null); } }
/// <summary> /// Get personnel list. /// </summary> /// <returns>Personnel Object</returns> public List <IPersonnelObject> GetPersonnelList() { var objUserDetails = (from UD in this.dataContext.UserDetails join U in this.dataContext.Users on UD.UserID equals U.UserID where UD.IsDeleted == false && U.IsEnabled == true select new { U.UserID, UD.LastName, UD.FirstName, U.Initial, UD.Title, UD.PartnerTypeID, UD.UserTypeID, UD.IsInternationalPartner, UD.OfficeLocation, UD.isResigned, UD.ResignationDate, UD.DateLeft, UD.EmailAddress, U.Department, UD.CreatedDate, UD.CreatedBy, UD.IsEmailNotificationRequired }).OrderBy(x => x.FirstName).ThenBy(x => x.LastName).ToList(); if (objUserDetails.Count > 0) { List <IPersonnelObject> PersonnelLIst = new List <IPersonnelObject>(); foreach (var a in objUserDetails) { PersonnelObject po = new PersonnelObject(); po.UserID = a.UserID; po.LastName = a.LastName; po.FirstName = a.FirstName; po.Initials = a.Initial; po.DateLeft = a.DateLeft; po.DateResigned = a.ResignationDate; po.EmailAddress = a.EmailAddress; po.Office = a.OfficeLocation; po.Title = a.Title; po.isEmailNotification = a.IsEmailNotificationRequired.GetValueOrDefault(); po.Department = a.Department; if (a.CreatedBy != null) { var userinfo = GetUserInfo(a.CreatedBy.GetValueOrDefault()); if (userinfo != null) { po.LastModifiedUserid = userinfo.Initials; po.LastModifiedDate = a.CreatedDate.GetValueOrDefault(); } } po.International = GetYesNoValue(a.IsInternationalPartner); po.Grade = GetGrade(a.PartnerTypeID); po.Department = a.Department; po.Resigned = GetYesNoValue(a.isResigned); po.AdminRights = GetAdminRights(a.UserTypeID); PersonnelLIst.Add(po); } return(PersonnelLIst); } else { return(null); } }