private void ThrowApiResultException(IApiResult result) { if (result.StatusCode != 0) { throw new Exceptions.ApiResultException(result.StatusCode, result.Message); } }
/// <summary> /// 修改用户密码 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> UpdateUserPwd(P_Users.P_UpdatePwd arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var us = db.Users.Where(u => u.UserID == arg.userid).FirstOrDefault(); if (us != null && us.Password == arg.old_userpwd) { us.Password = arg.new_userpwd; db.SaveChanges(); ar.message = "success!"; } else { ar.code = Interface.StatusCode.parameterError; ar.message = "Old password error"; } } } catch (Exception ex) { Log.Error(this, ex); ar.code = Interface.StatusCode.error; ar.message = ex.Message; } return ar; })); }
/// <summary> /// 生成一个标准返回对象 /// </summary> /// <param name="request">请求对象</param> /// <param name="result">返回内容</param> /// <param name="statusCode">HTTP状态码</param> /// <returns>HttpResponseMessage对象</returns> public static ApiResponseMessage ToResponse(this HttpRequestMessage request, IApiResult result, HttpStatusCode statusCode = HttpStatusCode.OK) { return(new ApiResponseMessage(statusCode, result) { RequestMessage = request }); }
public Task <IApiResult> GetGeofenceList(P_OnlyOneID arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var geos = from g in db.GeoFence where g.UserID == arg.id && g.Deleted == false select new { g.GeofenceID, g.FenceName, g.Created, g.Description }; var list = geos.ToList(); ar.result = list; ar.message = $"共查询到{list.Count}条数据."; } } catch (Exception ex) { Log.Error(this, ex); ar.message = ex.Message; ar.code = Interface.StatusCode.error; } return ar; })); }
/// <summary> /// 根据消息ID删除一条报警消息 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> DelMessage(P_Message.P_DelMessage arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { //DAL.ExceptionMessage dal = new ExceptionMessage() //{ // ExceptionID = arg.exceptionid, //}; using (DAL.CarRentEntities db = new CarRentEntities()) { var em = db.ExceptionMessage.First(e => e.ExceptionID == arg.exceptionid); em.Deleted = 1; //db.ExceptionMessage.Delete(e => e.ExceptionID == arg.ExceptionID); //var context= db.ExceptionMessage.Attach(dal);//将数据交给EF容器处理 // context.Deleted = 1; // db.ExceptionMessage.Remove(dal); int count = db.SaveChanges(); ar.message = $"delete{count}a data success!"; ar.result = new { url = "" }; } } catch (Exception ex) { Log.Error(this, ex); ar.code = StatusCode.error; ar.message = ex.Message; } return ar; })); }
internal static void ActionResultAsserts(IApiResult apiResult, int expected) { const string expectedKey = "Result"; const string expectedValue = "OK"; ResultAssertsWithValue(apiResult, expected, expectedKey, expectedValue); }
/// <summary> /// 删除一条设备记录 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> DelDevice(P_Devices.P_DelDevice arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new CarRentEntities()) { var de = db.Devices.First(d => d.DeviceID == arg.id); de.Deleted = true; int count = db.SaveChanges(); ar.message = $"delete{count} data success!"; ar.result = new { url = "" }; } } catch (Exception ex) { Log.Error(this, ex); ar.code = Interface.StatusCode.error; ar.message = ex.Message; } return ar; })); }
public Task <IApiResult> GetGeofenceByID(P_OnlyOneID arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var query = from g in db.GeoFence join u in db.Users on g.UserID equals u.UserID where g.GeofenceID == arg.id select new { g.GeofenceID, g.FenceName, g.FenceType, g.UserID, g.Bounds, u.UserName, g.Created }; ar.result = query.FirstOrDefault(); ar.result = ar.result ?? new { }; ar.message = "success!"; return ar; } } catch (Exception ex) { ar.code = StatusCode.error; ar.message = ex.Message; Log.Error(this, ex); } return ar; })); }
/// <summary> /// 批量删除消息记录 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> DelsMessages(P_Message.P_DelsMessages arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { ExceptionMessage em = new ExceptionMessage(); using (DAL.CarRentEntities db = new CarRentEntities()) { int count = db.Database.ExecuteSqlCommand("update ExceptionMessage set Deleted=1 where ExceptionID in(" + arg.id + ")"); ar.message = $"delete {count} data success!"; ar.result = new { url = "reload" }; } } catch (Exception ex) { Log.Error(this, ex); ar.code = StatusCode.error; ar.message = ex.Message; } return ar; })); }
/// <summary> /// 修改设备信息 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> UpdateDeviceInfo(P_Devices.P_UpdateDeviceInfo arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { DAL.Devices d = new DAL.Devices(); d.DeviceID = arg.deviceid; using (DAL.CarRentEntities db = new CarRentEntities()) { var device = db.Devices.Find(arg.deviceid); device.DeviceName = arg.devicename; device.Description = arg.description; device.GroupID = arg.groupid; db.SaveChanges();//保存至数据库中 ar.message = "Device information is modified successfully"; ar.result = new { url = "reload" }; } } catch (Exception ex) { Log.Error(this, ex); ar.code = Interface.StatusCode.error; ar.message = ex.Message; } return ar; })); }
/// <summary> /// 供移动端调用 /// </summary> /// <param name="dl"></param> /// <returns></returns> //public async Task<IApiResult> GetDeviceList(Models.Parameter.PUsersByUserID user) //{ // return await Task.Run(() => { // ApiResult hr = new IApiResult(); // string strSql = @"select d.DeviceID,d.SerialNumber, case when DeviceName='' then d.SerialNumber else DeviceName end DeviceName,l.LastCommunication ,l.DataContext,l.Speed,d.GroupID,d.HireExpireDate,datediff(MI,StopStartUtcDate,serverutcdate) StopTime, // (select COUNT(-1) from ExceptionMessage e where e.Deleted=0 and e.DeviceID=d.DeviceID)ExceptionCount,l.OLat Lat,l.OLng Lng,di.DataText as Model,case when di.AccountID=2 then 7 else di.SortOrder end as OffLineMinute // from devices d // left join lklocation l on l.DeviceID = d.DeviceID inner join Dictionary di on di.DataValue=d.Model // where d.UserID = 7 and d.deleted = 0 // group by d.DeviceID,d.SerialNumber,d.DeviceName,l.DataContext,l.Speed ,d.GroupID,l.LastCommunication,d.HireExpireDate,StopStartUtcDate,serverutcdate,l.OLat,l.OLng,di.DataText,d.ServerID2,di.SortOrder,di.AccountID // order by d.DeviceName collate Chinese_PRC_CS_AS_KS_WS asc"; // using (System.Data.IDbConnection conn = new SqlConnection(connectionString)) // { // var list = conn.QueryAsync<Models.Entity.Monitor.DeviceList>(strSql, new { UserID = user.userid }).Result.ToList(); // list.ForEach(item => { // try // { // string IsStop = "1"; //运动 // if (item.Speed < 7.5) //速度 小于7.5 的过滤掉 // { // item.Speed = 0.00; // IsStop = "0"; // 停止 // } // string[] ContextList = (item.DataContext ?? "0-0-0-0").Split('-'); // if (ContextList.Length == 1) // { // item.DataContext = "0-0-0-0-" + item.DataContext; // ContextList = item.DataContext.Split('-'); // } // item.Status = GetDevicesStatus(item.LastCommunication, item.HireExpireDate, item.OffLineMinute); // int statusmin = 0; // if (item.Status == 2) // { // statusmin = item.LastCommunication == default(DateTime) ? 0 : (DateTime.Now - item.LastCommunication).TotalMinutes.ToString("0").toInt(); // } // else if (item.Status == 4) // { // statusmin = (DateTime.Now - item.HireExpireDate).TotalMinutes.ToString("0").toInt(); // } // else if (item.Status == 1 && IsStop == "0") // { // statusmin = item.StopTime ?? 0; // } // item.OffLineMinute = null; // item.GpsStatusMinute = statusmin; // } // catch (Exception ex) // { // Log.Error(this, ex); // } // }); // hr.result = list; // hr.message = "查询成功."; // } // return hr; // }); //} public async Task <IApiResult> GetDevicesList(Models.Parameter.P_Users.P_UsersByUserID dl) { return(await Task.Run(() => { IApiResult hr = new IApiResult(); //count(e.ExceptionID) ExceptionCount left join ExceptionMessage e on e.DeviceID = d.deviceid string strSql = @"select d.DeviceID,d.SerialNumber,d.DeviceName,ISNULL(g.GroupID,-1) GroupID, ISNULL(GroupName,'Default')GroupName, d.UserID, Username,l.LastCommunication, datediff(MI,l.LastCommunication, getdate()) status,Speed,l.DataContext,l.Course,d.Icon ,DATEADD(HH,8, l.DeviceUtcDate)DeviceUtcDate,datediff(MI,StopStartUtcDate,serverutcdate) StopTime,d.CarImg,d.Model,di.DataText, DATEDIFF(mi,l.lastcommunication,getdate()) OfflineTime, l.DataType,DATEADD(HH,8 ,l.StopStartUtcDate)StopStartUtcDate,d.HireExpireDate,l.OLat Lat,l.OLng Lng,case when di.AccountID=2 then 7 else di.SortOrder end as offLineMi from Devices d full join Groups g on g.GroupID=d.GroupID left join LKLocation l on l.DeviceID = d.DeviceID left join Dictionary di on d.Model=di.DataValue where (g.UserID = @UserID or d.UserID=@UserID) and d.Deleted !=1 order by g.GroupID desc, d.DeviceName collate Chinese_PRC_CS_AS_KS_WS asc, StopTime, [status],OfflineTime desc "; using (System.Data.IDbConnection conn = new SqlConnection(connectionString)) { var list = conn.QueryAsync <Models.Entity.Monitor.DevicesList>(strSql, new { UserID = dl.userid }).Result.ToList(); list.ForEach((item) => { if (Mgoo.CarRent.Position.ZCChinaLocation.InOutChina(item.Lat, item.Lng)) { Position.Point point = Position.PositionUtil.gps84_To_Gcj02(item.Lat, item.Lng); item.Lng = point.Lng; item.Lat = point.Lat; } }); hr.result = list; hr.message = $"一共查询到{list.Count}条数据."; } return hr; })); }
/// <summary> /// 修改个人信息 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> UpdateUsersInfo(P_Users.P_UpdateUsersInfo arg) { return(Task.Run(() => { IApiResult hr = new IApiResult(); try { //DAL.Users user = new DAL.Users(); //user.UserID = userInfo.UserID; using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var u = db.Users.Find(arg.userid); u.UserName = arg.username; u.CellPhone = arg.phone; u.FirstName = arg.contact; u.PrimaryEmail = arg.email; u.Address1 = arg.address; u.UpdateTime = DateTime.Now; u.ActivationCount = arg.price * 100; db.SaveChanges(); } hr.message = "User information is modified successfully"; hr.result = new { url = "reload" }; } catch (Exception ex) { Log.Error(this, ex); hr.code = StatusCode.error; hr.message = ex.Message; } return hr; })); }
private void HandleOnParkingsRefreshed(IApiResult <List <IParking> > apiResult) { if (apiResult.Error) { return; } var parking = apiResult.Result.SingleOrDefault(p => p.Id == Parking.Id); if (parking == null) { return; } if (parking.LastUpdateDate == Parking.LastUpdateDate) { return; } var parkingViewModel = BindingContext as ParkingViewModel; if (parkingViewModel == null) { return; } parkingViewModel.Update(parking); UpdateFreePlacesCountColorText(parkingViewModel); Parking = parking; }
public Task <IApiResult> GetListSimple() { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var query = from u in db.Users where u.Deleted == false && (u.ParentID == userInfo.UserID || u.UserID == userInfo.UserID) select new { u.UserID, u.UserName }; var list = query.ToList(); ar.result = list; ar.message = $"There are {list.Count} data"; } } catch (Exception ex) { Log.Error(this, ex); ar.message = ex.Message; ar.code = StatusCode.error; } return ar; })); }
public Task <IApiResult> ProofReview(P_OnlyOneID arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var rr = db.RechargeRecord.Where(r => r.RID == arg.id && r.IsCheck == false).FirstOrDefault(); var user = db.Users.First(u => u.UserID == rr.UserID); if (rr != null) { rr.IsCheck = true; rr.CheckTime = DateTime.Now; var money = user.MoneyCount; user.MoneyCount = money + rr.Money; db.SaveChanges(); } ar.message = "Has been reviewed."; } } catch (Exception ex) { Log.Error(this, ex); ar.message = ex.Message; ar.code = StatusCode.error; } return ar; })); }
/// <summary> /// 删除子用户 /// </summary> /// <param name="arg"></param> /// <returns></returns> public Task <IApiResult> DelUserInfo(P_Users.P_DelUser arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { DAL.Users us = new DAL.Users(); var res = db.Users.First(u => u.UserID == arg.userid); res.Deleted = true; int count = db.SaveChanges(); ar.message = $"delete{count}a data success!"; ar.result = new { url = "" }; } } catch (Exception ex) { Log.Error(this, ex); ar.code = StatusCode.error; ar.message = ex.Message; } return ar; })); }
/// <summary> /// 加载下拉框分组内容 /// </summary> /// <returns></returns> public Task <IApiResult> GetGroupListSimple() { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var query = from g in db.Groups where g.Deleted == false && g.UserID == LoginUser.userInfo.UserID select new { g.GroupID, g.GroupName }; var list = query.ToList(); ar.result = list; ar.message = $"There are {list.Count} data"; } } catch (Exception ex) { Log.Error(this, ex); ar.message = ex.Message; ar.code = StatusCode.error; } return ar; })); }
/// <summary> /// /// </summary> /// <param name="result"></param> /// <returns></returns> public void SetResult(IApiResult result) { this.message = result.message; this.errorCode = result.errorCode; this.statusCode = result.statusCode; this.success = result.success; }
public Task <IApiResult> DelGeofence(P_OnlyOneID arg) { return(Task.Run(() => { IApiResult ar = new IApiResult(); try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { DAL.GeoFence gf = new DAL.GeoFence() { GeofenceID = arg.id }; db.GeoFence.Attach(gf); db.GeoFence.Remove(gf); var i = db.SaveChanges(); ar.message = $"Deleted {i} data"; } } catch (Exception ex) { ar.message = ex.Message; ar.code = Interface.StatusCode.error; } return ar; })); }
internal static void ResultAsserts(IApiResult apiResult, int expected, string expectedKey) { ResultAsserts(apiResult, expected); var actual = apiResult.ResultList.Count; var apiResultElement = apiResult.ResultList.ElementAt(actual - 1); StringAssert.Contains(expectedKey, apiResultElement.Key); }
public void ConstructorShouldFailWhenApiResultIsNull() { //Arrange IApiResult apiResult = null; //Act var controller = new OperatorActivitiesController(apiResult); }
internal static void ResultAssertsWithValue(IApiResult apiResult, int expected, string expectedKey, string expectedValue) { var actual = apiResult.ResultList.Count; Assert.AreEqual(expected, actual); StringAssert.Contains(expectedKey, apiResult.Key); StringAssert.Contains(expectedValue, apiResult.Value); }
public Task <IApiResult> GetDevice(P_Devices.PDevicesByDeviceID arg) { return(Task.Run(() => { IApiResult hr = new IApiResult(); try { using (CarRentEntities cre = new CarRentEntities()) { Func <double, double, bool> inoutChina = (lat, lng) => Mgoo.CarRent.Position.ZCChinaLocation.InOutChina(Convert.ToDouble(lat), Convert.ToDouble(lng)); var devs = from d in cre.Devices join l in cre.LKLocation on d.DeviceID equals l.DeviceID into dl from dli in dl.DefaultIfEmpty() where d.DeviceID == arg.deviceid && d.Deleted == false // let po = new Position.Point(Convert.ToDouble(dli.OLat ?? -1.00m), Convert.ToDouble(dli.OLng ?? -1.00m)) //let isChina = inoutChina(po.Lat, po.Lng) //let point = isChina ? new Position.Point(po.Lat, po.Lng) : Position.PositionUtil.gps84_To_Gcj02(po.Lat, po.Lng) select new Models.Return.R_Devices.GetDevice_Result { DeviceID = d.DeviceID, DeviceName = d.DeviceName, SerialNumber = d.SerialNumber, Status = d.Status, DataContext = dli.DataContext ?? "", Lat = dli.OLat ?? -1.00m, Lng = dli.OLng ?? -1.00m, Speed = dli.Speed ?? default(decimal), LastCommunication = dli.LastCommunication == null ? default(DateTime) : dli.LastCommunication, Course = dli.Course ?? default(decimal), IsStop = dli.IsStop ?? default(int) }; var list = devs.ToList(); list.ForEach((item) => { //如果是在中国大陆则需要转换一下坐标 if (Position.ZCChinaLocation.InOutChina(Convert.ToDouble(item.Lat), Convert.ToDouble(item.Lng))) { Position.Point point = Position.PositionUtil.gps84_To_Gcj02(Convert.ToDouble(item.Lat), Convert.ToDouble(item.Lng)); item.Lng = Convert.ToDecimal(point.Lng); item.Lat = Convert.ToDecimal(point.Lat); } }); hr.result = list; hr.message = $"查询到{list.Count}条数据."; } } catch (Exception ex) { hr.message = ex.Message; hr.code = StatusCode.error; Log.Error(this, ex); } return hr; })); }
/// <summary> /// 获取供应商列表 /// </summary> /// <param name="arg"></param> /// <returns></returns> public async Task <IApiResult> GetList(P_Users.P_GetUserListPage arg) { return(await Task.Run(() => { IApiResult ar = new IApiResult(); var userid = userInfo.UserID; try { using (DAL.CarRentEntities db = new DAL.CarRentEntities()) { var query = from u in db.Users where u.ParentID == userid && u.Deleted == false select new Models.Return.R_Users.GetUsersListPage_Result.GetUsersListPage_List { UserID = u.UserID, UserName = u.UserName, LoginName = u.LoginName, Contact = u.FirstName ?? "", CellPhone = u.CellPhone ?? "", Price = u.ActivationCount, AllDeviceCount = u.AllDeviceCount, Created = u.Created, Address = u.Address1 ?? "" }; if (arg.start_date != null) { query = query.Where(u => u.Created >= arg.start_date); } if (arg.end_date != null) { query = query.Where(u => u.Created <= arg.end_date); } if (!string.IsNullOrEmpty(arg.keyword)) { query = query.Where(u => u.UserName.Contains(arg.keyword) || u.LoginName.Contains(arg.keyword) || u.Contact.Contains(arg.keyword) || u.CellPhone.Contains(arg.keyword)); } int index = (arg.p - 1) * arg.pagesize; var total = query.Count(); var list = query.OrderBy(u => u.UserID).Skip(index).Take(arg.pagesize).ToList(); list.ForEach(item => item.RowIndex = ++index); ar.result = new { total = total, pages = Math.Ceiling(Convert.ToDecimal(total / Convert.ToDouble(arg.pagesize))), list = list, }; ar.message = $"There are {total} data"; } } catch (Exception ex) { Log.Error(this, ex); ar.code = StatusCode.error; ar.message = ex.Message; } return ar; })); }
/// <summary> /// 处理未登录的请求 /// </summary> /// <param name="ctx"></param> /// <param name="result"></param> /// <returns></returns> private bool HandleUnauthorizedRequest(HttpActionContext ctx, out IApiResult result) { if (this.UnauthorizedRequestHandler != null) { result = this.UnauthorizedRequestHandler.Handle(ctx); return(true); } result = null; return(false); }
/// <summary> /// 处理异常 /// </summary> /// <param name="exception"></param> /// <param name="result"></param> /// <returns></returns> private bool HandleException(Exception exception, out IApiResult result) { if (this.ExceptionHandler != null) { result = this.ExceptionHandler.Handle(exception); return(true); } result = null; return(false); }
public void ConstructorShouldFailWhenApiResultNull() { // Arrange IApiResult apiResult = null; // Act Action ctor = () => { new WorkOrdersController(apiResult); }; // Assert ctor.Should().Throw <ArgumentNullException>(); }
public void ConstructorShouldFailWhenMediatorIsNull() { // Arrange IApiResult apiResult = null; // Act Action ctor = () => { new TransportTypesController(apiResult); }; // Assert ctor.Should().Throw <ArgumentNullException>().WithMessage($"*{nameof(apiResult)}*"); }
public static void WaitForTaskToComplete(IApiResult apiResponse, StatusDelegate getStatus) { var value = apiResponse.Value; var complete = 0; while (complete < 100) { var callApi = getStatus(value); complete = int.Parse(callApi.Value); Thread.Sleep(1000); } }
public async Task <IApiResult> CommitAsync(IApiResult result, CancellationToken cancellationToken = default) { result = await SaveAsync(result, cancellationToken); if (result.Success) { _contextTransaction?.CommitAsync(cancellationToken); } HasOpenTransaction = false; return(result); }
public object Invoke(MethodInfo methodInfo, object arguments, Func <object> method) { Type returnType = methodInfo.ReturnType; IApiResponse response = (IApiResponse)Activator.CreateInstance(returnType); try { IApiResult result = response as IApiResult; if (result != null) { result.Data = method.Invoke(); } else { method.Invoke(); } response.IsSuccess = true; return(response); } catch (ValidationException exception) { response.ValidationErrors = exception.Errors; } catch (BusinessException exception) { response.ErrorMessage = exception.Message; IApiError error = response as IApiError; if (error != null) { error.ErrorCode = exception.Code; } } catch (Exception exception) { response.ErrorMessage = exception.Message; IBusinessException businessException = exception as IBusinessException; if (businessException != null) { IApiError error = response as IApiError; if (error != null) { error.ErrorCode = businessException.Code; } } } response.IsSuccess = false; return(response); }
private void OnAccountUpdated(IApiResult result) { if (AccountUpdated != null) { AccountUpdated(this, result); } }
void HandleApiAccountAccountUpdated(ECM.Account account, IApiResult result) { if (result != null && result.Error == null) { if(result is ApiResult<ApiKeyInfo>) { vbxKeyInfo.Sensitive = true; btnImport.Sensitive = true; ApiResult<ApiKeyInfo> keyInfo = result as ApiResult<ApiKeyInfo>; ApiKeyData keyData = keyInfo.Result.Key; accCharacters.Clear(); apiAccount.UpdateOnHeartbeat(); foreach (ECM.Character character in apiAccount.Characters) { accCharacters.AppendValues(true, character.Name, character.ID); } // Show key access imgAccBalance.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.AccountBalance); imgAccountStatus.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.AccountStatus); imgAssetList.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.AssetList); imgCalEvents.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.CalendarEventAttendees) && keyData.AccessMask.HasFlag(ApiKeyMask.UpcomingCalendarEvents); imgCharInfo.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.CharacterInfoPrivate) || keyData.AccessMask.HasFlag(ApiKeyMask.CharacterInfoPublic); imgCharSheet.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.CharacterSheet); imgContactNotifications.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.ContactNotifications); imgContacts.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.ContactList); imgContracts.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.Contracts); imgFacWarStats.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.FacWarStats); imgIndJobs.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.IndustryJobs); imgKillLog.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.KillLog); // TODO: What about mailing lists? imgMail.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.MailBodies) && keyData.AccessMask.HasFlag(ApiKeyMask.MailMessages); imgMarketOrders.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.MarketOrders); imgMedals.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.Medals); ImgNotifications.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.Notifications) && keyData.AccessMask.HasFlag(ApiKeyMask.NotificationTexts); imgReseach.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.Research); imgSkillQueue.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.SkillQueue); imgSkillTraining.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.SkillInTraining); imgStandings.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.Standings); imgWallJournal.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.WalletJournal); imgWallTransactions.Sensitive = keyData.AccessMask.HasFlag(ApiKeyMask.WalletTransactions); ntbInfoAndLoading.CurrentPage = 0; } } }
/// <summary> /// 处理异常 /// </summary> /// <param name="exception"></param> /// <param name="result"></param> /// <returns></returns> private bool HandleException(Exception exception, out IApiResult result) { if (this.ExceptionHandler != null) { result = this.ExceptionHandler.Handle(exception); return true; } result = null; return false; }
/// <summary> /// 处理模型校验错误 /// </summary> /// <param name="modelState"></param> /// <param name="result"></param> /// <returns></returns> private bool HandleModelStateValidationError(ModelStateDictionary modelState, out IApiResult result) { if (this.ModelStateValidationErrorHandler != null) { result = this.ModelStateValidationErrorHandler.Handle(modelState); return true; } result = null; return false; }
/// <summary> /// 处理未登录的请求 /// </summary> /// <param name="ctx"></param> /// <param name="result"></param> /// <returns></returns> private bool HandleUnauthorizedRequest(HttpActionContext ctx, out IApiResult result) { if (this.UnauthorizedRequestHandler != null) { result = this.UnauthorizedRequestHandler.Handle(ctx); return true; } result = null; return false; }