public HttpResponseMessage DownloadUsers() { Logger.Debug("Inside UM Controller- GetUserLocation"); DownloadUsers lResponse = new DownloadUsers(); ErrorResponse error = new ErrorResponse(); var response = new Dictionary <string, object>(); try { string SessionID = Guid.Empty.ToString(); if (Request.Headers != null) { SessionID = Request.Headers.LastOrDefault().Value.First(); Logger.Debug("SessionID: " + SessionID.ToString()); if (_IUMServer.ValidateUser(SessionID)) { lResponse = _IUMServer.DownloadUsers(SessionID); if (lResponse != null) { Logger.Debug("Response: " + new JavaScriptSerializer().Serialize(lResponse)); return(Request.CreateResponse(HttpStatusCode.OK, lResponse)); } else { error.ErrorCode = HttpStatusCode.InternalServerError; error.ErrorMessage = "Unable to get User Details"; response.Add("ErrorResponse", error); return(Request.CreateResponse(HttpStatusCode.InternalServerError, lResponse)); } } else { error.ErrorCode = HttpStatusCode.Forbidden; error.ErrorMessage = "Session has expired, please login again"; response.Add("ErrorResponse", error); return(Request.CreateResponse(HttpStatusCode.Forbidden, response)); } } else { error.ErrorCode = HttpStatusCode.BadRequest; error.ErrorMessage = "Unable to get SessionID in Header"; response.Add("ErrorResponse", error); return(Request.CreateResponse(HttpStatusCode.BadRequest, response)); } } catch (Exception ex) { Logger.Error(ex.Message); error.ErrorCode = HttpStatusCode.InternalServerError; error.ErrorMessage = "Failure"; response.Add("ErrorResponse", error); return(Request.CreateResponse(HttpStatusCode.InternalServerError, response)); } }
protected IEnumerable <cuc.User> GetUsers(string account, string user, string password) { var users = new List <cuc.User>(); string currentUser = User.Identity.Name; if (!string.IsNullOrWhiteSpace(currentUser)) { Guid albaAccountId = albaCredentialService.GetAlbaAccountIdFor(currentUser); string path = string.Format( options.AlbaUsersHtmlPath, albaAccountId); if (io.File.Exists(path)) { string html = io.File.ReadAllText(path); users = DownloadUsers.GetUsers(html); } } var adminUserNames = authorizationService.GetAdminUsers(); foreach (var name in adminUserNames) { users.Add( new cuc.User { Email = name, Name = name, }); } var userNames = authorizationService.GetUsers(); foreach (var name in userNames) { users.Add( new cuc.User { Email = name, Name = name, }); } return(users); }
/// <summary> /// 获得组织机构版本信息 /// </summary> /// <param name="org"></param> private void onOrgVersion(OrgVersion org) { try { #region 判断登录的用户本地数据库文件夹是否存在 System.IO.DirectoryInfo dInfo = new System.IO.DirectoryInfo(MyAuth.UserID); if (!dInfo.Exists) dInfo.Create(); string FileNamePath =Application.StartupPath +"\\"+ MyAuth.UserID + "\\Record.mdb"; if (!System.IO.File.Exists(FileNamePath)) System.IO.File.Copy(Application.StartupPath + "\\Record.db", FileNamePath); ////初始化本地数据库连接字符串 IMLibrary3.Data.SQLiteDBHelper.connectionString = "data source=" + FileNamePath; #endregion OrgVersion localOrg = OpeRecordDB.GetOrgVersion(MyAuth.UserID); #region 如果版本已经改变下载组织机构组信息 if (org.GroupsVersion != localOrg.GroupsVersion)//true { Groups.Clear(); treeView_Organization.Nodes.Clear(); OpeRecordDB.DeleteAllGroup();//删除本地数据库中分组信息 frmOrg = new FormDownOrganization(); frmOrg.Shown += delegate(object sender, EventArgs e) { DownloadGroups dGroups = new DownloadGroups(); dGroups.from = MyAuth.UserID; dGroups.type = type.get; SendMessageToServer(dGroups);//请求下载分组信息 }; frmOrg.MaxValue = org.GroupsCount; frmOrg.ShowText = "正在下载分组信息..."; frmOrg.ShowDialog(); OpeRecordDB.AddGroups(this.Groups);//将下载的分组信息保存于数据库中 } #endregion #region 下载组织机构用户信息 if (org.UsersVersion != localOrg.UsersVersion)//(true) { Users.Clear(); treeView_Organization.Nodes.Clear(); OpeRecordDB.DeleteAllUser();//删除本地数据库中用户信息 frmOrg = new FormDownOrganization(); frmOrg.Shown += delegate(object sender, EventArgs e) { DownloadUsers dUsers = new DownloadUsers(); dUsers.from = MyAuth.UserID; dUsers.type = type.get; SendMessageToServer(dUsers);//请求下载联系人信息 }; frmOrg.MaxValue = org.UsersCount; frmOrg.ShowText = "正在下载用户信息..."; frmOrg.ShowDialog(); OpeRecordDB.AddUsers(this.Users); } #endregion #region 下载群信息 if (org.RoomsCount !=0)//如果群数大于0 { Rooms.Clear(); treeView_Rooms.Nodes.Clear(); //OpeRecordDB.DeleteAllRoom();//删除本地数据库中群信息 frmOrg = new FormDownOrganization(); frmOrg.Shown += delegate(object sender, EventArgs e) { DownloadRooms dRooms = new DownloadRooms(); dRooms.from = MyAuth.UserID; dRooms.type = type.get; SendMessageToServer(dRooms);//请求下载群信息 }; frmOrg.MaxValue = org.RoomsCount; frmOrg.ShowText = "正在下载群资料..."; frmOrg.ShowDialog(); //OpeRecordDB.AddRooms(this.Rooms); } #endregion //如果组织机构已经更改或组织机构未加载到树图 if (this.treeView_Organization.Nodes.Count == 0) { //则更新到本地数据库 OpeRecordDB.UpdateOrgVersion(org); this.Groups = OpeRecordDB.GetGroups(); this.Users = OpeRecordDB.GetUsers(); treeViewAddOrg();//加载树 } if (this.treeView_Rooms.Nodes.Count == 0) { //this.Rooms = OpeRecordDB.GetRooms(); foreach (Room room in this.Rooms) { foreach (string userID in room.UserIDs.Split(';')) { User user = findUser(userID); if (user != null) room.Users.Add(user.UserID, user); } } treeViewAddRooms(this.Rooms); } //请求联系人在线状态信息 Presence pre = new Presence(); pre.from = MyAuth.UserID; pre.type = type.get;//必须设置 set,以表示是设置,如果为get,则是获取所有联系人的状态 SendMessageToServer(pre); } catch (Exception ex) { IMLibrary3.Global.MsgShow(ex.Source + ex.Message); } }
public LoginResponse Login(LoginRequest pLoginRequest) { LoginResponse loginResponse = new LoginResponse(); IUserRepository _IUserRepository; _IUserRepository = new UserRepository(new WorkersInMotionDB()); string UpdatedSessionID = string.Empty; Logger.Debug("Inside UserLogin"); LoginResponse lResponse = new LoginResponse(); try { MasterLogin masterlogin = new MasterLogin(); var aspuser = _IUserRepository.UserLogin(pLoginRequest.UserName, _IUserRepository.EncodeTo64(pLoginRequest.Password)); if (aspuser != null) { Logger.Debug("Inside Role"); AspNetRole asprole = _IUserRepository.GetRole(aspuser.Role_Id); switch (asprole.UserType) { case "WIM_A": case "ENT_A": case "ENT_OM": case "ENT_U_RM": case "ENT_U_TM": lResponse.Role = 1; break; case "ENT_U": lResponse.Role = 2; break; case "IND_C": lResponse.Role = 3; break; default: break; } UserDevice userDevice = new UserDevice(); List <MasterLogin> masterlogins = new List <MasterLogin>(); MasterLogin lMasterLogin = new MasterLogin(); lMasterLogin.UserGUID = aspuser.UserGUID; lMasterLogin.LoginType = (short)pLoginRequest.LoginType; masterlogins = _IUserRepository.GetMasterLogin(lMasterLogin); if (masterlogins != null && masterlogins.Count > 0) { #region masterlogins record available masterlogin = masterlogins[0]; // Alok need to be fixed // Update the Master Login masterlogin.ExpiryTime = DateTime.UtcNow.AddYears(10); Logger.Debug("Updating MasterLogin Record"); UpdatedSessionID = _IUserRepository.UpdateMasterLogin(masterlogin); if (!string.IsNullOrEmpty(UpdatedSessionID)) { #region UpdatedSessionID is not null Logger.Debug("Updated Session ID: " + UpdatedSessionID); lResponse.SessionID = UpdatedSessionID; lResponse.UserGUID = aspuser.UserGUID.ToString(); Logger.Debug("Inside MasterLogin"); userDevice.LoginGUID = masterlogin.LoginGUID; userDevice.DeviceID = pLoginRequest.DeviceInfo.deviceid; List <UserDevice> lUserDevices = _IUserRepository.GetUserDevice(userDevice); if (lUserDevices != null && lUserDevices.Count > 0) { // Delete the user device record userDevice = lUserDevices[0]; // Need to modify Alok int deviceresult = _IUserRepository.DeleteUserDevices(userDevice.UserDevicesGUID); //int deviceresult = _IUserRepository.Save(); if (deviceresult <= 0) { lResponse = null; return(lResponse); } } // Insert the User Device info if (CreateUserDevice(masterlogin, pLoginRequest) > 0) { if (!string.IsNullOrEmpty(lResponse.SessionID) && !string.IsNullOrEmpty(lResponse.UserGUID)) { DownloadUsers lDownloadUsers = DownloadUsers(lResponse.SessionID, new Guid(lResponse.UserGUID)); if (lDownloadUsers != null && lDownloadUsers.UserRecords.Count > 0) { lResponse.UserRecord = lDownloadUsers.UserRecords[0]; } else { lResponse.UserRecord = null; } } Logger.Debug("UserDevice record created for updated Session ID: " + UpdatedSessionID); } #endregion } else { #region UpdatedSessionID is NULL Logger.Error("Unable to generate Session ID"); lResponse = null; return(lResponse); #endregion } #endregion } else { #region masterlogins record not available Logger.Debug("Creating MasterLogin Record"); lMasterLogin.ExpiryTime = DateTime.UtcNow.AddYears(10); if (CreateMasterLogin(lMasterLogin) > 0) { Logger.Debug("New Session ID: " + lMasterLogin.SessionID); lResponse.SessionID = lMasterLogin.SessionID; lResponse.UserGUID = lMasterLogin.UserGUID.ToString(); Logger.Debug("Inside UserDevice create"); if (CreateUserDevice(masterlogin, pLoginRequest) > 0) { if (!string.IsNullOrEmpty(lResponse.SessionID) && !string.IsNullOrEmpty(lResponse.UserGUID)) { DownloadUsers lDownloadUsers = DownloadUsers(lResponse.SessionID, new Guid(lResponse.UserGUID)); if (lDownloadUsers != null && lDownloadUsers.UserRecords.Count > 0) { lResponse.UserRecord = lDownloadUsers.UserRecords[0]; } else { lResponse.UserRecord = null; } } Logger.Debug("UserDevice record created for new Session ID: " + lMasterLogin.SessionID); } else { Logger.Error("Unable to craete UserDevice record for new Session ID: " + lMasterLogin.SessionID); lResponse = null; } } else { Logger.Error("Unable to craete MasterLogin record"); lResponse = null; } #endregion } } else { Logger.Error("Unable to find user record in AspUser"); lResponse = null; } return(lResponse); } catch (Exception ex) { Logger.Error(ex.Message); lResponse = null; //lResponse.SessionID = new WorkersInMotionDB().Database.Connection.ConnectionString + " Exception: " + ex.Message; return(lResponse); } }
//public DownloadUsers GetOrganization(string SessionID) //{ // IOrganizationRepository _IOrganizationRepository; // _IOrganizationRepository = new OrganizationRepository(new WorkersInMotionDB()); // DownloadUsers lDownloadUsers = new DownloadUsers(); // SqlParameter[] sqlParam = new SqlParameter[2]; // sqlParam[0] = new SqlParameter("@pSessionID", SqlDbType.NVarChar); // sqlParam[0].Value = SessionID; // sqlParam[1] = new SqlParameter("@pErrorCode", SqlDbType.NVarChar, 200); // sqlParam[1].Value = ""; // sqlParam[1].Direction = ParameterDirection.Output; // _jmResponse.JobList = context.Database.SqlQuery<p_GetJobs_Result>("dbo.p_getjobs @pSessionID,@pErrorCode=@pErrorCode output", sqlParam).ToList(); // return lDownloadUsers; //} public List<MCustomers> GetCustomers(Guid lOrganizationGUID) { DownloadUsers lresponse = new DownloadUsers(); IPlaceRepository _IPlaceRepository; _IPlaceRepository = new PlaceRepository(new WorkersInMotionDB()); IEnumerable<Place> lPlaces = _IPlaceRepository.GetPlaceByOrganizationGUID(lOrganizationGUID); return ConvertToMobileCustomer(lPlaces); ; }
public DownloadUsers DownloadUsers(string SessionID, Nullable<System.Guid> UserGUID = null) { DownloadUsers lresponse = new DownloadUsers(); IUserRepository _IUserRepository; _IUserRepository = new UserRepository(new WorkersInMotionDB()); lresponse.UserRecords = _IUserRepository.DownloadUsers(SessionID, UserGUID); return lresponse; }