예제 #1
0
        public ActionResult <IReturnModel <bool> > ChangeStatusFile([FromBody] ChangeStatusModel filter)
        {
            if (filter == null)
            {
                throw new ArgumentNullException(nameof(filter));
            }

            #region Declares

            IReturnModel <bool> rtn = new ReturnModel <bool>(_logger);

            #endregion Declares

            #region Hash Control

            if (!filter.HashControl(_configuration["AppSettings:HashSecureKeys:UserCloudManager:Fm:ChangeStatusFile"]))
            {
                _logger.LogError("InvalidHash: " + filter.Hash);
                return(BadRequest(rtn.SendError(GlobalErrors.HashCodeInValid)));
            }

            #endregion Hash Control

            #region Action Body

            try
            {
                int userId  = Tools.GetTokenNameClaim(HttpContext);
                int tokenId = Tools.GetTokenIdClaim(HttpContext);
                ServiceParamsWithIdentifier <ChangeStatusModel> serviceFilterModel = new ServiceParamsWithIdentifier <ChangeStatusModel>(filter, userId, tokenId);
                IReturnModel <bool> serviceAction = _service.ChangeStatusFile(serviceFilterModel);
                if (serviceAction.Error.Status)
                {
                    rtn.Error = serviceAction.Error;
                }
                else
                {
                    rtn.Result = serviceAction.Result;
                }
            }
            catch (Exception ex)
            {
                rtn = rtn.SendError(GlobalErrors.TechnicalError, ex);
            }

            #endregion Action Body

            return(Ok(rtn));
        }