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); } }
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); }