public APIResult AddPointsFromAction(string actionId, string completionPercent)
        {
            try
            {
                APIResult result = new APIResult();

                APIResult customerIdRequest = GetCustomerSessionId();

                if (customerIdRequest.success)
                {
                    CResultCreate customerData = GetCustomerData((string)customerIdRequest.data);

                    if (customerData.success)
                    {
                        string customerId = customerData.response.id.ToString();

                        MerchantApiData merchantData = GetMerchantApiData();

                        if (merchantData.Success)
                        {
                            ConfigEnv configData = GetConfigData();

                            MgivePoint givePoints = new MgivePoint();
                            givePoints.customer_id = customerId;
                            givePoints.place_id    = merchantData.PlaceId;
                            givePoints.session_id  = merchantData.MerchantId;
                            givePoints.amount      = "0";
                            givePoints.actionid    = actionId;

                            ILoyalzooMerchant           m = new Merchant();
                            MResultGivePointsFromAction loyalzooResult = m.givePointsFromAction(configData, givePoints);

                            if (loyalzooResult.success)
                            {
                                result.success = true;
                                result.message = "";
                                result.data    = new { pointsAdded = loyalzooResult.response.points_given, customerTotalPoints = loyalzooResult.response.balance };
                            }
                            else
                            {
                                result.success = false;
                                result.message = loyalzooResult.Errore.response;
                                result.data    = null;
                            }
                        }
                        else
                        {
                            result.success = false;
                            result.message = merchantData.ErrorMessage;
                            result.data    = null;
                        }
                    }
                    else
                    {
                        result.success = false;
                        result.message = customerData.Errore.response;
                        result.data    = null;
                    }
                }
                else
                {
                    result.success = false;
                    result.message = customerIdRequest.message;
                    result.data    = null;
                }

                return(result);
            }
            catch (Exception e)
            {
                APIResult exceptionData = new APIResult();

                exceptionData.success = false;
                exceptionData.message = e.Message;
                exceptionData.data    = null;

                return(exceptionData);
            }
        }
        public APIResult AddPoints(int numPoints)
        {
            try
            {
                APIResult result = new APIResult();

                APIResult customerIdRequest = GetCustomerSessionId();

                if (customerIdRequest.success)
                {
                    CResultCreate customerData = GetCustomerData((string)customerIdRequest.data);

                    if (customerData.success)
                    {
                        string customerId = customerData.response.id.ToString();

                        MerchantApiData merchantData = GetMerchantApiData();

                        if (merchantData.Success)
                        {
                            ConfigEnv configData = GetConfigData();

                            MgivePoint givePoints = new MgivePoint();
                            givePoints.customer_id = customerId;
                            givePoints.place_id    = merchantData.PlaceId;
                            givePoints.session_id  = merchantData.MerchantId;
                            givePoints.amount      = numPoints.ToString();

                            ILoyalzooMerchant m = new Merchant();
                            MResultGeneral    loyalzooResult = m.givePointsFromAmount(configData, givePoints);

                            if (loyalzooResult.success)
                            {
                                result.success = true;
                                result.message = "";
                                result.data    = null;
                            }
                            else
                            {
                                result.success = false;
                                result.message = loyalzooResult.Errore.response;
                                result.data    = null;
                            }
                        }
                        else
                        {
                            result.success = false;
                            result.message = merchantData.ErrorMessage;
                            result.data    = null;
                        }
                    }
                    else
                    {
                        result.success = false;
                        result.message = customerData.Errore.response;
                        result.data    = null;
                    }
                }
                else
                {
                    result.success = false;
                    result.message = customerIdRequest.message;
                    result.data    = null;
                }

                return(result);
            }
            catch (Exception e)
            {
                APIResult exceptionData = new APIResult();

                exceptionData.success = false;
                exceptionData.message = e.Message;
                exceptionData.data    = null;

                return(exceptionData);
            }
        }