public ExecuteResult <DeviceLogInfoResponse> Register(DeviceRegisterRequest request) { //记LOG DeviceLogEntity entity = null; bool isInsert = true; var userId = request.AuthUser == null || request.AuthUser.Id <= 0?0:request.AuthUser.Id; if (userId == 0) { if (!string.IsNullOrEmpty(request.UserId)) { int.TryParse(request.UserId, out userId); } else { int.TryParse(request.Token, out userId); } } if (userId > 0) { entity = _deviceLogsRepository.Get(d => d.User_Id == userId).FirstOrDefault(); if (entity != null) { isInsert = false; entity.Latitude = Convert.ToDecimal(request.Lat); entity.Longitude = Convert.ToDecimal(request.Lng); entity.DeviceUid = request.Uid; entity.DeviceToken = request.DeviceToken; entity.UpdatedDate = DateTime.Now; entity.UpdatedUser = userId; _deviceLogsRepository.Update(entity); } } if (isInsert) { entity = this._deviceLogsRepository.Insert(new DeviceLogEntity { CreatedDate = DateTime.Now, CreatedUser = userId, DeviceToken = request.DeviceToken, DeviceUid = request.Uid, Latitude = Convert.ToDecimal(request.Lat), Longitude = Convert.ToDecimal(request.Lng), Status = 1, Type = 1, UpdatedDate = DateTime.Now, UpdatedUser = userId, User_Id = userId }); } return(new ExecuteResult <DeviceLogInfoResponse> { Data = MappingManager.DeviceLogInfoResponseMapping(entity) }); }