public async Task <IActionResult> ProcessCoinGateHook([FromForm] CoinGateHookTransferModel model)
        {
            foreach (var key in Request.Form.Keys)
            {
                switch (key)
                {
                case "order_id":
                    model.OrderId = long.Parse(Request.Form[key]);
                    break;

                case "status":
                    model.Status = Request.Form[key];
                    break;

                case "id":
                    model.Id = long.Parse(Request.Form[key]);
                    break;

                case "price_amount":
                    model.PriceAmount = float.Parse(Request.Form[key]);
                    break;

                case "price_currency":
                    model.PriceCurrency = Request.Form[key];
                    break;

                case "receive_amount":
                    model.ReceiveAmount = float.Parse(Request.Form[key]);
                    break;

                case "receive_currency":
                    model.ReceiveCurrency = Request.Form[key];
                    break;

                case "pay_amount":
                    model.PayAmount = float.Parse(Request.Form[key]);
                    break;

                case "pay_currency":
                    model.PayCurrency = Request.Form[key];
                    break;

                case "created_at":
                    model.CreatedAt = DateTime.Parse(Request.Form[key]);
                    break;

                case "token":
                    model.Token = Request.Form[key];
                    break;
                }
            }

            await _tokenService.ProcessCoinGateHook(model);

            return(ApiResponder.RespondStatusCode(HttpStatusCode.OK));
        }
Example #2
0
        public async Task <IActionResult> RegisterInternalAccount([FromBody] UserRegisterModel model, [FromHeader(Name = "X-Internal-Hail-Mary-Token")] string internalToken)
        {
            if (!internalToken.Equals(InternalHailMaryToken))
            {
                return(ApiResponder.RespondStatusCode(HttpStatusCode.Unauthorized));
            }
            await _accountService.RegisterAccount(model, UserType.InternalUser);

            return(ApiResponder.RespondStatusCode(HttpStatusCode.Created));
        }
Example #3
0
        public override void OnException(ExceptionContext context)
        {
            var exception = context.Exception;

            Console.WriteLine($"Message : {exception.Message}\nStackTrace : {exception.StackTrace}");

            if (exception.GetType().IsSubclassOf(typeof(CustomException)))
            {
                var customException = (CustomException)exception;
                context.Result = customException.Code == ErrorCode.NotModifiedException
                    ? ApiResponder.RespondStatusCode(HttpStatusCode.NotModified)
                    : ApiResponder.RespondHandledError(exception.Message, ((CustomException)exception).Code);
            }
            else
            {
                context.Result = ApiResponder.RespondUnhandledError(exception.Message, ErrorCode.UnknownException);
            }
        }
Example #4
0
        public async Task <IActionResult> DeleteSupplier(long id)
        {
            await _supplierService.DeleteSupplier(id);

            return(ApiResponder.RespondStatusCode(HttpStatusCode.OK));
        }
Example #5
0
        public async Task <IActionResult> ChangeAccountRole(long id, UserType roleId)
        {
            await _internalService.ChangeAccountRole(id, roleId);

            return(ApiResponder.RespondStatusCode(HttpStatusCode.OK));
        }
Example #6
0
        public async Task <IActionResult> Register([FromBody] UserRegisterModel model)
        {
            await _accountService.RegisterAccount(model, UserType.NormalUser);

            return(ApiResponder.RespondStatusCode(HttpStatusCode.Created));
        }
        public async Task <IActionResult> DeleteProduct(long id)
        {
            await _productService.DeleteProduct(id);

            return(ApiResponder.RespondStatusCode(HttpStatusCode.OK));
        }
        public async Task <IActionResult> ChangeProductStockStatus(long id, bool status)
        {
            await _productService.ChangeProductStockStatus(id, status);

            return(ApiResponder.RespondStatusCode(HttpStatusCode.OK));
        }