public async Task <Tuple <string, User, ApiResponse> > TokenGenerateWithUDID(AccessDevice accessDevice) { var result = await _userService.GetAccessDevice(accessDevice); if (result == null) { var dtRes = new ApiResponse(); dtRes.Message = "Email not registred!"; return(new Tuple <string, User, ApiResponse>(null, null, dtRes)); } //Authenticate User, Check if it’s a registered user in Database if (!result.Data.Item1.IsSuccess) { return(new Tuple <string, User, ApiResponse>(null, result.Data.Item2, result.Data.Item1)); } if (accessDevice.Password == new Security().Decrypt(result.Data.Item2.Password)) { var JWToken = _jwtTokenService.GenerateToken(result.Data.Item2.EmailAddress, Guid.NewGuid().ToString()); var token = new JwtSecurityTokenHandler().WriteToken(JWToken); return(new Tuple <string, User, ApiResponse>(token, result.Data.Item2, result.Data.Item1)); } else { return(new Tuple <string, User, ApiResponse>(null, result.Data.Item2, result.Data.Item1)); } }
public async Task <ApiResponse> SignUp([FromBody] JObject req) { var response = new ApiResponse(); try { var model = new User(); model.UserId = req["UserId"].ToObject <Int64>(); model.EmailAddress = req["EmailAddress"].ToObject <string>(); model.Password = req["Password"].ToObject <string>(); model.FirstName = req["FirstName"].ToObject <string>(); model.LastName = req["LastName"].ToObject <string>(); model.DeviceType = req["DeviceType"].ToObject <int>(); model.DeviceToken = req["DeviceToken"].ToObject <string>(); model.UdId = req["UDID"].ToObject <string>(); model.CityId = req["CityId"].ToObject <Int64>(); model.StateId = req["StateId"].ToObject <Int64>(); model.CountryId = req["CountryId"].ToObject <Int64>(); model.RoleId = req["RoleId"].ToObject <int>(); var userData = _userService.SignUpAsync(model).Result; if (userData.Status) { string tokenData = _tokenService.TokenGenerateSignUp(userData.Data.EmailAddress, userData.Data.UserId); var accessTokenModel = new AccessDevice(); accessTokenModel.Email = userData.Data.EmailAddress; accessTokenModel.deviceToken = userData.Data.DeviceToken; accessTokenModel.deviceType = userData.Data.DeviceType; accessTokenModel.udid = userData.Data.UdId; await _userService.UpdateUserToken(accessTokenModel, userData.Data.UserId, tokenData); response.Status = true; response.Message = "User registered has been successfully."; userData.Data.Password = ""; userData.Data.Token = tokenData; response.Data = userData.Data; } else { response.Status = false; response.Message = userData.Message; } } catch (Exception ex) { response.Status = false; response.Message = ex.Message.ToString(); } return(response); }
public async Task <ApiResponse> UpdateUserToken(AccessDevice request, Int64 userId, string token) { var response = new ApiResponse(); var data = await _repository.UpdateUserToken(request, userId, token); response.Data = data.Data; response.Message = data.Message; response.Status = data.Status; return(response); }
public async Task <ApiResponse> GetAccessDevice(AccessDevice model) { var response = new ApiResponse(); model.Password = new Security().Encrypt(model.Password.Trim()); var data = await _repository.GetAccessDevice(model); response.Data = data.Data; response.Message = data.Message; response.Status = data.Status; return(response); }
public async Task <ApiResponse> UpdateUserToken(AccessDevice request, Int64 userId, string token) { var _param = new DynamicParameters(); _param.Add("@device_token", request.deviceToken.ToString(), DbType.String); _param.Add("@device_type", request.deviceType.ToString(), DbType.String); _param.Add("@udid", request.udid.ToString(), DbType.String); _param.Add("@uEmail", request.Email.ToString(), DbType.String); _param.Add("@UserId", userId, DbType.Int64); _param.Add("@uToken", token, DbType.String); _param.Add("@SuccessMsg", null, DbType.String, ParameterDirection.Output); _param.Add("@IsSuccess", 0, DbType.Int16, ParameterDirection.Output); return(await Task.FromResult(_dapperService.Get <ApiResponse>("API_UpdateUserToken", _param, CommandType.StoredProcedure))); }
public BioService.AccessDevice GetAccessDeviceProto(AccessDevice entity) { if (entity == null) return null; BioService.AccessDevice proto = new BioService.AccessDevice(); proto.Id = entity.Id; proto.Portname = entity.PortName; proto.Type = (BioService.AccessDevice.Types.AccessDeviceType)entity.Location_Type; if (entity.Location_Id.HasValue) proto.Locationid = entity.Location_Id.Value; return proto; }
public async Task <ApiResponse> Login([FromBody] JObject req) { var response = new ApiResponse(); try { var request = new AccessDevice(); request.UserName = req["EmailAddress"].ToObject <string>(); request.Email = req["EmailAddress"].ToObject <string>(); request.Password = req["Password"].ToObject <string>(); request.deviceToken = req["DeviceToken"].ToObject <string>(); request.deviceType = req["DeviceType"].ToObject <int>(); request.udid = req["UDID"].ToObject <string>(); request.RoleId = req["RoleId"].ToObject <int>(); var data = await _tokenService.TokenGenerateWithUDID(request); if (data.Item1 != null && data.Item3.Status) { await _userService.UpdateUserToken(request, data.Item2.UserId, data.Item1); data.Item2.Token = data.Item1; data.Item2.Password = null; response.Status = data.Item3.Status; response.Message = data.Item3.Message.ToString(); response.Data = data.Item3.Status ? data.Item2 : null; } else { response.Status = false; response.Message = data.Item3.Message; response.Data = null; } } catch (Exception ex) { response.Status = false; response.Message = ex.Message.ToString(); response.Data = null; } return(response); }
public async Task <ApiResponse> GetAccessDevice(AccessDevice model) { var _apiResponse = new ApiResponse(); var _param = new DynamicParameters(); _param.Add("@uUserType", model.RoleId, DbType.Int32); _param.Add("@uEmail", model.Email.Trim(), DbType.String); _param.Add("@uPassword", model.Password, DbType.String); _param.Add("@SuccessMsg", null, DbType.String, ParameterDirection.Output); _param.Add("@IsSuccess", 0, DbType.Int16, ParameterDirection.Output); _apiResponse.Data = await _dapperService.GetAsync <User>("Admin_Login", _param, CommandType.StoredProcedure); _apiResponse.Message = _param.Get <string>("SuccessMsg"); _apiResponse.Status = _param.Get <Int16>("IsSuccess") == 1 ? true : false; return(_apiResponse); }
private void doWork() { string name = "门禁主机"; //资产名称的前缀 string deviceCode = StringUtil.getDateTimeNum(); //资产编号起始 int dataCount = Int32.Parse(AddACSDevNumtextBox.Text); //数据生成数量 string[] sArray = AddACSDevIpAddresstextBox.Text.Split('.'); int Port = Int32.Parse(PorttextBox.Text); int IPCount = Int32.Parse(sArray[3]);//ip尾号 long IOTCtrlid = Int64.Parse(AddACSDevUIDtextBox.Text); AddACSDevprogressBar.Maximum = dataCount; AddACSDevprogressBar.Value = 0; AddACSDevprogressBar.Step = 1; for (int i = 0; i < dataCount;) { int left = dataCount - i; int count = left > AddDeviceHelper.ONCE_INSERT ? AddDeviceHelper.ONCE_INSERT : left; List <Device> devices = new List <Device>(); for (int j = 0; j < count; j++, i++) { AccessDevice acs = new AccessDevice(); acs.setIp(string.Format("{0}.{1}.{2}.{3}", sArray[0], sArray[1], sArray[2], IPCount++)); acs.setPort(Port.ToString()); acs.setDeviceCode(deviceCode + i.ToString()); acs.setCtlId(StringToHexString(IOTCtrlid++.ToString(), Encoding.UTF8)); acs.setDeviceName(name + i.ToString()); acs.setDoorCount(4);//4扇门 devices.Add(acs); AddACSDevprogressBar.Value += AddACSDevprogressBar.Step;//让进度条增加一次 } AddDeviceHelper.multiExcute(LoginMysqlFm.getNewDbHelper(), devices); } MessageBox.Show("添加成功"); }
public AccessDevice GetAccessDeviceEntity(BioService.AccessDevice proto) { if (proto == null) return null; AccessDevice entity = new AccessDevice(); entity.Id = proto.Id; entity.PortName = proto.Portname; entity.Location_Type = (byte)proto.Type; entity.Location_Id = proto.Locationid; return entity; }