Exemplo n.º 1
0
        public PostResponse validate(NWSCTransaction trans, PostResponse resp, DataTable vendaData)
        {
            PhoneValidator  pv = new PhoneValidator();
            DatabaseHandler dp = new DatabaseHandler();

            resp = null;
            UtilityCredentials creds      = dp.GetUtilityCreds("NWSC", trans.VendorCode);
            string             vendorType = vendaData.Rows[0]["VendorType"].ToString();

            if (!IsValidReversalStatus(trans))
            {
                resp.HandleResponse(trans, resp, "25", "");
                return(resp);
            }

            else if (!IsNumeric(trans.TransactionAmount))
            {
                resp.HandleResponse(trans, resp, "3", "");
                return(resp);
            }
            else if (!IsValidDate(trans.PaymentDate))
            {
                resp.HandleResponse(trans, resp, "4", "");
                return(resp);
            }

            else if (!isValidVendorCredentials(trans.VendorCode, trans.Password, vendaData))
            {
                resp.HandleResponse(trans, resp, "2", "");
                return(resp);
            }
            else if (!isActiveVendor(trans.VendorCode, vendaData))
            {
                resp.HandleResponse(trans, resp, "11", "");
                return(resp);
            }
            else if (!isSignatureValid(trans))
            {
                resp.HandleResponse(trans, resp, "18", "");
                return(resp);
            }
            else if (!pv.PhoneNumbersOk(trans.CustomerTel))
            {
                resp.HandleResponse(trans, resp, "12", "");
                return(resp);
            }
            else if (IsduplicateVendorRef(trans))
            {
                resp.HandleResponse(trans, resp, "20", "");
                return(resp);
            }
            else if (IsduplicateCustPayment(trans))
            {
                resp.HandleResponse(trans, resp, "21", "");
                return(resp);
            }

            else if (!HasOriginalEntry(trans))
            {
                resp.HandleResponse(trans, resp, "24", "");
                return(resp);
            }
            else if (!dp.ReverseAmountsMatch(trans))
            {
                resp.HandleResponse(trans, resp, "26", "");
                return(resp);
            }
            else if (dp.IsChequeBlacklisted(trans))
            {
                resp.HandleResponse(trans, resp, "29", "");
                return(resp);
            }

            else if ((vendorType.Equals("PREPAID")))
            {
                resp.HandleResponse(trans, resp, "29", "NOT ENABLED FOR PREPAID VENDORS");
                return(resp);
            }

            else if (creds.UtilityCode.Equals(""))
            {
                resp.HandleResponse(trans, resp, "29", "");
                return(resp);
            }

            else
            {
                return(resp);
            }
        }
Exemplo n.º 2
0
        protected virtual bool CheckForEmptyProperties(NWSCTransaction trans)
        {
            if (string.IsNullOrEmpty(trans.CustomerType))
            {
                trans.CustomerType = "";
            }
            if (trans.CustomerTel == null)
            {
                trans.CustomerTel = "";
            }
            if (trans.Email == null)
            {
                trans.Email = "";
            }
            if (trans.CustName == null || trans.CustName.Trim().Equals(""))
            {
                resp.HandleResponse(trans, resp, "13", "");
                return(false);
            }

            else if (trans.Area == null || trans.Area.Trim().Equals(""))
            {
                resp.HandleResponse(trans, resp, "35", "");
                return(false);
            }

            else if (trans.TransactionType == null || trans.TransactionType.Trim().Equals(""))
            {
                resp.HandleResponse(trans, resp, "14", "");
                return(false);
            }

            else if (trans.VendorTransactionRef == null || trans.VendorTransactionRef.Trim().Equals(""))
            {
                resp.HandleResponse(trans, resp, "16", "");
                return(false);
            }

            else if (trans.Teller == null || trans.Teller.Trim().Equals(""))
            {
                resp.HandleResponse(trans, resp, "17", "");
                return(false);
            }

            else if (trans.DigitalSignature == null || trans.DigitalSignature.Length == 0)
            {
                resp.HandleResponse(trans, resp, "19", "");
                return(false);
            }
            else if (trans.Reversal == "1" && trans.TranIdToReverse == null)
            {
                resp.HandleResponse(trans, resp, "22", "");
                return(false);
            }
            else if (trans.Reversal == "1" && trans.TranIdToReverse.Equals(""))
            {
                resp.HandleResponse(trans, resp, "22", "");
                return(false);
            }
            else if ((trans.Reversal == "1" && trans.Narration == null) || (trans.Reversal == "1" && trans.Narration.Equals("")))
            {
                resp.HandleResponse(trans, resp, "23", "");
                return(false);
            }

            return(true);
        }