public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { //Debug.WriteLine("ACTION 1 DEBUG OnActionExecuted Response " + actionExecutedContext.Response.StatusCode.ToString()); dtoBaseResponse response = null; dtoBaseResponse resp = null; try { object test = null; actionExecutedContext.ActionContext.Response.TryGetContentValue(out test); if (test != null) { resp = test as dtoBaseResponse; } } catch (Exception) {} if (resp != null && !resp.Success) { throw new LMSAPI.ResponseException( "Service Exception: " + resp.ServiceErrorCode + " SysException: " + resp.ErrorInfo, resp.ServiceErrorCode, resp.ErrorInfo.ToString()); //throw new Exception("Service Exception: " + resp.ServiceErrorCode + " SysException: " + resp.ErrorInfo); } }
public override void OnAuthorization( System.Web.Http.Controllers.HttpActionContext actionContext) { dtoBaseResponse resp = new dtoBaseResponse(); resp.ErrorInfo = ContextHelper.UserContextLoad(actionContext); resp.Success = (resp.ErrorInfo == GenericError.None); Helper.ContextHelper.CheckResponse(resp); }
public dtoBaseResponse ModifyExpiration([FromBody] dto.dtoModifyExpiration value) { dtoBaseResponse response = new dtoBaseResponse(); response.ErrorInfo = LastError; if (LastError != Adevico.APIconnection.Core.GenericError.None) { return(response); } ExpirationResponse result = coreApiService.SetExpiration( value.communityId, value.usersId, value.validity, value.extendValidity, value.startBehaviour); if (result == ExpirationResponse.NoPermission) { response.Success = false; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.NoServicePermission; response.ServiceErrorCode = (int)RoleUpdateResponse.NoPermission; return(response); } response.ServiceErrorCode = (int)result; if (result == ExpirationResponse.AllUpdated || result == ExpirationResponse.SomeUserUpdated) { response.Success = true; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.None; } else { response.Success = false; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.InvalidDataInput; } return(response); }
public dtoBaseResponse ModifySubscription([FromBody] dto.dtoModifySubscriptionRequest value) { dtoBaseResponse response = new dtoBaseResponse(); response.ErrorInfo = LastError; if (LastError != Adevico.APIconnection.Core.GenericError.None) { return(response); } RoleUpdateResponse result = coreApiService.SubscriptionModify(value.CommunityId, value.UsersId, value.Action); if (result == RoleUpdateResponse.NoPermission) { response.Success = false; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.NoServicePermission; response.ServiceErrorCode = (int)RoleUpdateResponse.NoPermission; return(response); } response.ServiceErrorCode = (int)result; if (result == RoleUpdateResponse.AllUpdated || result == RoleUpdateResponse.SomeUserUpdated) { response.Success = true; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.None; } else { response.Success = false; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.InvalidDataInput; } return(response); }
public static void CheckResponse(dtoBaseResponse response) { if (!response.Success) { HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.NotImplemented); switch (response.ErrorInfo) { case GenericError.None: message = new HttpResponseMessage(HttpStatusCode.Accepted); break; case GenericError.TokenExpired: case GenericError.TokenInvalid: message = new HttpResponseMessage(HttpStatusCode.Unauthorized); break; case GenericError.InvalidDataInput: message = new HttpResponseMessage(HttpStatusCode.BadRequest); break; case GenericError.NoServicePermission: message = new HttpResponseMessage(HttpStatusCode.Forbidden); break; //case GenericError.Internal: //case GenericError.Unknow: default: message = new HttpResponseMessage(HttpStatusCode.InternalServerError); break; } message.Content = new StringContent(String.Format("Code: {0}\r\nMessage: {1}", ((int)response.ErrorInfo).ToString(), response.ErrorInfo.ToString())); throw new HttpResponseException(message); } }
public dtoBaseResponse SetResponsible([FromBody] dto.dtoSetResponsibleRequest value) { dtoBaseResponse response = new dtoBaseResponse(); response.ErrorInfo = LastError; if (LastError != Adevico.APIconnection.Core.GenericError.None) { return(response); } ResponsabileUpdateResponse result = coreApiService.ResponsabileSet(value.CommunityId, value.UserId); if (result == ResponsabileUpdateResponse.NoPermission) { response.Success = false; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.NoServicePermission; response.ServiceErrorCode = (int)RoleUpdateResponse.NoPermission; return(response); } response.ServiceErrorCode = (int)result; if (result == ResponsabileUpdateResponse.Updated || result == ResponsabileUpdateResponse.isCurrent) { response.Success = true; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.None; } else { response.Success = false; response.ErrorInfo = Adevico.APIconnection.Core.GenericError.InvalidDataInput; } return(response); }
/// <summary> /// ToDo: usare ActionFilters su output! /// </summary> /// <param name="response"></param> internal void CheckResponse(dtoBaseResponse response) { Helper.ContextHelper.CheckResponse(response); }