/// <summary> /// Currents the users devices. /// </summary> /// <param name="showActiveOnly">if set to <c>true</c> [show active only].</param> /// <returns></returns> public UserDevices CurrentUsersDevices(bool showActiveOnly = false) { try { #region pre-processing string additionalQuery = string.Empty; if (showActiveOnly) { additionalQuery = "?active=true"; } #endregion end pre-processing #region processing UserDevices result = GetRequest <UserDevices>(string.Concat(PushbulletConstants.BaseUrl, PushbulletConstants.DevicesUrls.Me, additionalQuery).Trim()); return(result); #endregion processing } catch (Exception) { throw; } }
public UserDevices GetPlayerId(int userid, string playerId) { UserDevices result = _dBtsics.UserDevices. Where(uid => uid.UserId == userid). SingleOrDefault(pid => pid.PlayerId == playerId); return(result); }
public bool ShouldSerializeUserDevices() { if (UserDevices == null) { return(false); } return(UserDevices.Count <= 0 || UserDevices.ToList()[0].RepairDevice == null); }
public static string GetUserDevice(RestCommand command, int userDeviceID) { UserDevice userDevice = UserDevices.GetUserDevice(command.LoginUser, userDeviceID); if (userDevice.OrganizationID != command.Organization.OrganizationID) { throw new RestException(HttpStatusCode.Unauthorized); } return(userDevice.GetXml("UserDevice", true)); }
public void InsertData(UserDevices userDevices) { var cek = GetPlayerId(userDevices.UserId, userDevices.PlayerId); if (cek == null) { userDevices.Status = 1; _dBtsics.UserDevices.Add(userDevices); _dBtsics.SaveChanges(); } }
public UserDevices InsertData(UserDevices userDevices) { var cek = GetPlayerId(userDevices.UserId, userDevices.PlayerId); if (cek == null) { _tsicsContext.UserDevices.Add(userDevices); _tsicsContext.SaveChanges(); } return(userDevices); }
public JsonResult GetComputerName(string computerName) { var userDevices = new UserDevices(User.Identity.Name); // Cache has a default time limit of 20 minutes, so will get new results every 20 minutes IAppCache cache = new CachingService(); Func <List <string> > complexObjectFactory = () => userDevices.GetDevices(); List <string> fullDeviceList = cache.GetOrAdd("CMComputerList", complexObjectFactory); var returnList = fullDeviceList.Where(p => p.ToLower().Contains(computerName.ToLower())); //.Select(p => new { label = p }); return(Json(returnList.Take(50), JsonRequestBehavior.AllowGet)); }
public static string GetUserDevices(RestCommand command) { UserDevices userDevices = new UserDevices(command.LoginUser); userDevices.LoadByOrganizationID(command.Organization.OrganizationID); if (command.Format == RestFormat.XML) { return(userDevices.GetXml("UserDevices", "UserDevice", true, command.Filters)); } else { throw new RestException(HttpStatusCode.BadRequest, "Invalid data format"); } }
/// <summary> /// This method will be called during manual saving and automatically when form is closing. /// </summary> public static void SaveAll() { Properties.Settings.Default.Save(); OptionsData.Save(); UserSettings.Save(); Summaries.Save(); Programs.Save(); UserGames.Save(); Presets.Save(); Layouts.Save(); UserDevices.Save(); UserMacros.Save(); PadSettings.Save(); UserInstances.Save(); XInputMaskScanner.FileInfoCache.Save(); }
/// <summary> /// Currents the users active devices. /// </summary> /// <returns></returns> public UserDevices CurrentUsersActiveDevices() { try { #region processing UserDevices result = CurrentUsersDevices(); result.Devices = result.Devices.Where(o => o.active).ToList(); return(result); #endregion processing } catch (Exception) { throw; } }
public ActionResult Index() { var userDevices = new UserDevices(User.Identity.Name); if (!_settings.Configured) { return(Redirect("Admin")); } var vm = new IndexViewModel(); vm.ComputerList = new SelectList( userDevices.GetUserDevices() .Select(p => p.DeviceDisplayName) .ToArray() ); return(View(vm)); }
/// <summary> /// Currents the users devices. /// </summary> /// <returns></returns> public UserDevices CurrentUsersDevices() { try { #region processing UserDevices result = new UserDevices(); string jsonResult = GetRequest(string.Concat(PushbulletConstants.BaseUrl, PushbulletConstants.DevicesUrls.Me)); result = JsonSerializer.Deserialize <UserDevices>(jsonResult); return(result); #endregion processing } catch (Exception) { throw; } }
public string WakeDevice(string computerName, bool alwaysWake = false) { Log.Information($"User {User.Identity.Name} is requesting to wake up {computerName}"); var userDevices = new UserDevices(User.Identity.Name); var vm = new IndexViewModel(); if (alwaysWake && vm.GetsTextBox) { var resId = userDevices.GetResourceId(computerName); try { Log.Information("Found device - checking if it needs to wake up"); return(userDevices.WOL(resId, alwaysWake)); } catch (Exception ex) { Log.Error(ex, "Error waking up device"); return("Error trying to turn on device. You can still run the Default.rdp file to try and connect."); } } foreach (var d in userDevices.GetUserDevices()) { if (d.DeviceDisplayName.Equals(computerName)) { try { Log.Information("Found device - checking if it needs to wake up"); return(userDevices.WOL(d.DeviceResourceId)); } catch (Exception ex) { Log.Error(ex, "Error waking up device"); return("Error trying to turn on device. You can still run the Default.rdp file to try and connect."); } } } Log.Information("Device not found! Returning"); return(string.Empty); }
public ActionResult GetRDPFile(string computerName = "", string fullComputerName = "") { var userDevices = new UserDevices(User.Identity.Name); foreach (var d in userDevices.GetUserDevices()) { if (d.DeviceDisplayName.Equals(computerName)) { fullComputerName = d.DeviceName; } } string filePath = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".rdp"; if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } using (FileStream fs = System.IO.File.Create(filePath)) { Byte[] title = new UTF8Encoding(true).GetBytes("full address:s:" + fullComputerName + "\nprompt for credentials:i:1"); fs.Write(title, 0, title.Length); } string contentType = MimeMapping.GetMimeMapping(filePath); var fileBytes = System.IO.File.ReadAllBytes(filePath); //dataStream = new MemoryStream(fileBytes); var cd = new System.Net.Mime.ContentDisposition { FileName = "Default.rdp", Inline = false, }; System.IO.File.Delete(filePath); Response.AppendHeader("Content-Disposition", cd.ToString()); return(File(fileBytes, contentType)); }
public string CodeVerification(int userId, string codeEntered) { SignInResult result = new SignInResult(); LoginUser loginUser = LoginUser.Anonymous; try { Users users = new Users(loginUser); users.LoadByUserID(userId); result.UserId = userId; if (users.Count > 0) { result.OrganizationId = users[0].OrganizationID; string codeSent = users[0].verificationCode; codeEntered = codeEntered.Trim(); codeEntered = codeEntered.Replace(" ", string.Empty); if (codeSent == codeEntered) { if (users[0].verificationCodeExpirationUtc > DateTime.UtcNow) { users[0].verificationCode = null; users[0].verificationCodeExpiration = null; users.Save(); UserDevices devices = new UserDevices(loginUser); UserDevice device = devices.AddNewUserDevice(); device.DateActivated = DateTime.UtcNow; device.IsActivated = true; device.DeviceID = Guid.NewGuid().ToString(); device.UserID = users[0].UserID; devices.Save(); EmailPosts.SendNewDevice(loginUser, users[0].UserID); HttpCookie deviceCookie = new HttpCookie("di", device.DeviceID); deviceCookie.Expires = DateTime.Now.AddYears(14); HttpContext.Current.Response.Cookies.Add(deviceCookie); result.Result = LoginResult.Success; string authenticateResult = AuthenticateUser(users[0].UserID, users[0].OrganizationID, false, false); } else { result.Error = "Verification Code has expired."; result.Result = LoginResult.Fail; } } else { result.Error = "Invalid Verification Code."; result.Result = LoginResult.Fail; } } else { result.Error = "User not found."; result.Result = LoginResult.Fail; } } catch (Exception ex) { result.Error = ex.Message; result.Result = LoginResult.Fail; } return(JsonConvert.SerializeObject(result)); }
// POST: api/MobileLogin public IHttpActionResult Post(MobileLogin plainTextLoginData) { if (!Common.GetAuthorization(Request)) { return(Ok(new { Code = 401, Message = "Unauthorization" })); } using (TsicsContext db = new TsicsContext()) { db.Database.ExecuteSqlCommand("delete from UserDevices where PlayerId = '' or PlayerId = null"); } //Check User Login UserBusinessService userBs = Factory.Create <UserBusinessService>("User", ClassType.clsTypeBusinessService); MobileLogin loginData = new MobileLogin { Xupj = plainTextLoginData.Xupj, Password = Common.Base64Encode(plainTextLoginData.Password) }; User userM = userBs.CheckLoginMobile(loginData); if (userM != null) { var usrd = new UserDevices { UserId = userM.UserId, PlayerId = plainTextLoginData.PlayerId }; userM.MobileToken = Common.AccessToken() + userM.UserId; userM.PlayerId = plainTextLoginData.PlayerId; userBs.Edit(userM); if (usrd.PlayerId != null) { userBs.InsertData(usrd); } if (!string.IsNullOrWhiteSpace(userM.PhotoProfile)) { userM.PhotoProfile = WebConfigure.GetDomain() + "/Upload/UserProfile/" + userM.PhotoProfile; } else { userM.PhotoProfile = WebConfigure.GetDomain() + "/assets/images/repository/avatar-default.jpg"; } UserAPI userData = new UserAPI() { UserId = userM.UserId, Name = userM.Name, EmployeeId = userM.EmployeeId, AreaName = string.IsNullOrWhiteSpace(userM.AreaName) ? "HEAD OFFICE" : userM.AreaName, BranchName = string.IsNullOrWhiteSpace(userM.BranchName) ? "" : userM.BranchName, CreatedAt = userM.CreatedAt, AreaCode = userM.AreaCode, BranchCode = userM.BranchCode, MasterAreaId = userM.MasterAreaId, MasterBranchId = userM.MasterBranchId, Email = userM.Email, RoleId = userM.RoleId, RoleDescription = userM.RoleDescription, RoleName = userM.RoleId == 0 || _UserRoleBusinessService.GetDetail(userM.RoleId) == null ? "GUEST" : _UserRoleBusinessService.GetDetail(userM.RoleId).Name, Dob = userM.Dob, IsDelegate = userM.IsDelegate, MobileToken = userM.MobileToken, PhotoProfile = userM.PhotoProfile, POH_Name = userM.POH_Name, Status = userM.Status, MobilePassword = userM.MobilePassword, Position = userM.Position, Phone = userM.Phone, PlayerId = userM.PlayerId, Username = userM.Username, TechnicalJobExperienceDuration = userM.TechnicalJobExperienceDuration, TechnicalJobTitle = userM.TechnicalJobTitle, }; Delegation userD = userBs.GetDetailDelegationByUserFrom(userM.UserId); if (userD != null) { DelegationAPI delegationAPI = new DelegationAPI() { DelegateId = userD.DelegateId, StartDate = userD.StartDate.Value.ToString("dddd, dd MMMM yyyy"), EndDate = userD.EndDate.Value.ToString("dddd, dd MMMM yyyy"), ToUser = userBs.GetDetail(userD.ToUser), Status = userD.Status, CreatedAt = userD.CreatedAt.Value.ToString("dddd, dd MMMM yyyy") }; return(Ok(new { Code = 200, Authorization = "true", Data = userData, delegation = delegationAPI })); } else { DelegationAPI delegationAPI = new DelegationAPI() { DelegateId = 0, StartDate = null, EndDate = null, FromUser = null, ToUser = null, Status = 0, CreatedAt = null }; return(Ok(new { Code = 200, Authorization = "true", Data = userData, delegation = delegationAPI })); } } else { return(Ok(new { Code = 401, Authorization = "false", Message = "Gagal Login" })); } }
private string DoSignIn(string email, string password, int organizationId, bool verificationRequired, bool rememberMe) { try { SignInResult result = new SignInResult(); LoginUser loginUser = LoginUser.Anonymous; User user = null; Organization organization = null; result = IsValid(loginUser, email, password, organizationId, ref user, ref organization); if (result.Result == LoginResult.Success) { // DEVICE VERIFICATION // TRUE ALLOWS BYPASS. UserDevices devices = new UserDevices(loginUser); devices.LoadByUserIDAndDeviceID(user.UserID, GetDeviceID()); // if (organization.RequireTwoFactor) { // _skipVerification = false; if (devices.IsEmpty) { _skipVerification = false; } else if (devices[0].IsActivated) { _skipVerification = true; } else { _skipVerification = false; } if (organization.TwoStepVerificationEnabled && verificationRequired && !_skipVerification) { string userVerificationPhoneNumber = user.verificationPhoneNumber; if (!string.IsNullOrEmpty(userVerificationPhoneNumber)) { int verificationCode = 0; bool isNewVerificationCode = false; if (!string.IsNullOrEmpty(user.verificationCode) && user.verificationCodeExpirationUtc > DateTime.UtcNow) { bool isNumeric = int.TryParse(user.verificationCode, out verificationCode); if (!isNumeric) { verificationCode = SendAndGetVerificationCode(userVerificationPhoneNumber); isNewVerificationCode = true; } } else { verificationCode = SendAndGetVerificationCode(userVerificationPhoneNumber); isNewVerificationCode = true; } if (verificationCode > 0) { if (isNewVerificationCode) { user.verificationCode = verificationCode.ToString(); user.verificationCodeExpiration = DateTime.UtcNow.AddMinutes(MINUTESTOEXPIREVERIFICATIONCODE); user.Collection.Save(); } result.Result = LoginResult.VerificationNeeded; } else { result.Error = "Verification Code failed to be generated or sent."; result.Result = LoginResult.Fail; } } else { result.Error = "Organization requires two step verification and user does not have a verification phone number setup."; result.Result = LoginResult.VerificationSetupNeeded; } } else { string authenticateResult = AuthenticateUser(user.UserID, user.OrganizationID, rememberMe, false); } } else if (result.Result == LoginResult.PasswordExpired) { string authenticateResult = AuthenticateUser(user.UserID, user.OrganizationID, rememberMe, false); result.RedirectURL = string.Format("LoginNewPassword.html?UserID={0}&Token={1}", user.UserID, user.CryptedPassword); } return(JsonConvert.SerializeObject(result)); } catch (Exception ex) { SignInResult errorResult = new SignInResult(); errorResult.Error = "There was a error signing you in. Please verify your email and password and try again."; errorResult.Result = LoginResult.Fail; return(JsonConvert.SerializeObject(ex)); } }