コード例 #1
0
        public IActionResult MellatResponse(string RefId = "", string ResCode = "", string SaleOrderId = "", string SaleReferenceId = "")
        {
            try
            {
                order order = this.repository.GetOrder(Int32.Parse(SaleOrderId));
                //repository.AddLogToOrder(order, "MellatResponse rescode=" + ResCode + "&saleorderid=" + SaleOrderId + "&SaleReferenceId=" + SaleReferenceId);

                if (ResCode != "0")
                {
                    throw new Exception(Mellat.TranslateMessage(ResCode));
                }

                this.mellatService.VerifyResult(order, SaleReferenceId);
                this.repository.SetOrderBankReference(order, SaleReferenceId);
                this.repository.ChangeOrderStatus(order, (int)orderStatuses.payed);

                //try
                //{
                //    this.mellatService.SettleRequest(order);
                //}
                //catch (Exception ex)
                //{
                //    //AddMessage(ex.Message, "Info");
                //}
                this.hookManager.HookFired("orderCompleted", order.user, order);
                this.hookManager.HookFired("paymentCompleted", order.user, order);
                return(View("Completed", order));
            }
            catch (Exception ex)
            {
                return(View("error", ex.Message));
            }
        }