public GuestUserInfo ValidateUser(string email, int siteId) { const string FIRST_NAME = "JCRFirstName"; const string LAST_NAME = "JCRLastName"; GuestUserInfo returnUser; using (var db = new DBAMPContext()) { ApiVerifyUserByUserLogonIdReturnModel rtnData; try { rtnData = db.ApiVerifyUserByUserLogonId(email, siteId); returnUser = ParseResultforUser(rtnData); if (returnUser.UserID == 0 || (returnUser.UserID > 0 && //For External users added via Schedule & Assignments screen, consider them as new users to update user & security information returnUser.FirstName.Equals(FIRST_NAME, StringComparison.InvariantCultureIgnoreCase) && returnUser.LastName.Equals(LAST_NAME, StringComparison.InvariantCultureIgnoreCase))) { returnUser.IsNewUser = true; } returnUser.EmailAddress = email; if (returnUser.UserSiteInfo.SiteID == 0) { SiteServices siteService = new SiteServices(); List <ApiMobileGuestUserSelectSitesReturnModel> sites; ApiMobileGuestUserSelectSitesReturnModel defaultSite; using (var dbMedition = new DBMEdition01Context()) { sites = dbMedition.ApiMobileGuestUserSelectSites(returnUser.UserID, (int)Enums.EProduct.Tracers); } defaultSite = sites.Where(x => x.DefaultSelectedSite == 1).FirstOrDefault(); returnUser.UserSiteInfo.SiteID = defaultSite.SiteID; returnUser.UserSiteInfo.SiteFullName = defaultSite.SiteName; returnUser.UserSiteInfo.RoleID = (int)defaultSite.RoleID; returnUser.UserSiteInfo.SiteName = defaultSite.SiteName; returnUser.UserSiteInfo.IsTracersAccess = false; } else { returnUser.UserSiteInfo.SiteName = GetSiteFullName(siteId); } if (returnUser.IsActive && IsUserRegistered(returnUser.UserID)) { returnUser.IsRegisteredUser = true; } } catch (Exception ex) { string sqlParam = "ApiVerifyUserByUserLogonId(" + email + "," + siteId + ")"; string methodName = "JCRAPI/Business/GuestUserServices/ValidateUser"; exceptionLog.ExceptionLogInsert(ex.Message.ToString(), "", methodName, null, siteId, sqlParam, string.Empty); return(null); } } return(returnUser); }