Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
            }
        }
Example #6
0
        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);
        }
Example #7
0
 /// <summary>
 /// ToDo: usare ActionFilters su output!
 /// </summary>
 /// <param name="response"></param>
 internal void CheckResponse(dtoBaseResponse response)
 {
     Helper.ContextHelper.CheckResponse(response);
 }