public IDPProxyResponse insertIDPDetail(PaymentIDPProxyInputRequest PaymentIDPProxyInputRequest) { try { String Error = ""; String cardEncrypt = String.Empty; int lineItemCount = 0; string paymentid = string.Empty; InsertPaymentitem obj = new InsertPaymentitem(); if (ConfigurationSettings.AppSettings["LoggingEntry"].ToString() == "1") { LogServiceRequest(PaymentIDPProxyInputRequest); } if (!string.IsNullOrEmpty(PaymentIDPProxyInputRequest.receiptNumber.ToString())) { log.WriteLog("Input Request received for the receipt number: " + PaymentIDPProxyInputRequest.receiptNumber.ToString()); } //Input Field validations message = (obj.Validation(PaymentIDPProxyInputRequest)); if ((message.responseCode == Constant.RESPONSE_FAILURE)) { log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } if (PaymentIDPProxyInputRequest.paymentMethod.Equals("CRDC") || PaymentIDPProxyInputRequest.paymentMethod.Equals("EFT")) { message = (obj.CardValidation(PaymentIDPProxyInputRequest)); if ((message.responseCode == Constant.RESPONSE_FAILURE)) { log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } } if (PaymentIDPProxyInputRequest.paymentMethod.Equals("CHCK")) { message = (obj.CheckValidation(PaymentIDPProxyInputRequest)); if ((message.responseCode == Constant.RESPONSE_FAILURE)) { log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } } if (PaymentIDPProxyInputRequest.LineItem.Count >= 0) { foreach (LineItem item in PaymentIDPProxyInputRequest.LineItem) { message = (obj.ValidationLineItem(item)); if (message != null) { if ((message.responseCode == Constant.RESPONSE_FAILURE)) { log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } } else { message = new IDPProxyResponse(Constant.RESPONSE_SUCCESS, ""); } } } if (message.responseCode == Constant.RESPONSE_SUCCESS) { message = new IDPProxyResponse(Constant.RESPONSE_SUCCESS, Constant.VALIDATION_SUCCESS + PaymentIDPProxyInputRequest.receiptNumber); //Mapping the PC Data to PT Corresponding Fields int[] ID_PNE = { 4, 5, 6, 13, 15, 16, 17, 18, 1, 3, 20 }; switch (PaymentIDPProxyInputRequest.applicationContext.application) { case "BILLIVR": PaymentIDPProxyInputRequest.applicationContext.application = ID_PNE[2].ToString(); break; case "HUON": PaymentIDPProxyInputRequest.applicationContext.application = ID_PNE[3].ToString(); break; case "NETPOS": PaymentIDPProxyInputRequest.applicationContext.application = ID_PNE[4].ToString(); break; case "PAS": PaymentIDPProxyInputRequest.applicationContext.application = ID_PNE[5].ToString(); break; case "AGNTINTRA": PaymentIDPProxyInputRequest.applicationContext.application = ID_PNE[6].ToString(); break; case "SIS": PaymentIDPProxyInputRequest.applicationContext.application = ID_PNE[7].ToString(); break; case "PCBCKOFF": PaymentIDPProxyInputRequest.applicationContext.application = ID_PNE[10].ToString(); break; default: message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.ERR_VALIDATION + Constant.application); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } //Payment Method Mapping switch (PaymentIDPProxyInputRequest.paymentMethod) { case "CRDC": PaymentIDPProxyInputRequest.paymentMethod = ID_PNE[8].ToString(); break; case "CASH": PaymentIDPProxyInputRequest.paymentMethod = ID_PNE[9].ToString(); break; case "CHCK": PaymentIDPProxyInputRequest.paymentMethod = ID_PNE[0].ToString(); break; case "EFT": PaymentIDPProxyInputRequest.paymentMethod = ID_PNE[1].ToString(); break; default: message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.ERR_VALIDATION + Constant.paymentMethod); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } //Method Call to Insert Payment Details paymentid = obj.InsertPaymentItem(PaymentIDPProxyInputRequest); //Modified the below code to avoid duplicate receipt number enteries if (!string.IsNullOrEmpty(paymentid)) { if (paymentid.Trim() == "0") { message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.RECEIPT_DUPLICATE); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } } //Changed the Flow for Insertion and removed the if structure for multi line item foreach (LineItem Item in PaymentIDPProxyInputRequest.LineItem) { if (message.responseCode == Constant.RESPONSE_SUCCESS) { //Mapping for Product Code message = new IDPProxyResponse(Constant.RESPONSE_SUCCESS, Constant.VALIDATION_SUCCESS + PaymentIDPProxyInputRequest.receiptNumber); //MAIG - CH1 - BEGIN - Modified the logic to get the Product code directly from External Interface /*if ((Item.dataSource.Equals(Constant.PAS)) & (Item.policyNumber.Length.Equals(13))) * { * if (Item.policyNumber.Substring(0, 2).Equals(Constant.CA_State)) * { * Item.productCode = Constant.AUT; * } * else * { * Item.productCode = Constant.AAASS; * } * } * else if (((Item.dataSource.Equals(Constant.HUON)) & (Item.policyNumber.Length.Equals(9)) | ((Item.dataSource.Equals(Constant.POES))&&Item.productCode.Equals(Constant.ProductCode_PA)) | (Item.dataSource.Equals(Constant.ADES)))) * { * Item.productCode = Constant.POES_AUTO; * } * else if (Item.dataSource.Equals(Constant.HDES) | ((Item.dataSource.Equals(Constant.POES)) && Item.productCode.Equals(Constant.ProductCode_HO))) * { * Item.productCode = Constant.HME; * } * else if (Item.dataSource.Equals(Constant.PUPSYS)) * { * Item.productCode = Constant.PUP; * } * else if ((Item.dataSource.Equals(Constant.SIS))) * { * if ((Item.productCode.Equals(Constant.ProductCode_PA))) * { * Item.productCode = Constant.WUA; * } * else if (Item.productCode.Equals(Constant.ProductCode_HO)) * { * Item.productCode = Constant.WUH; * } * else if ((Item.productCode.Equals(Constant.ProductCode_DF))) * { * Item.productCode = Constant.DF; * } * else if (Item.productCode.Equals(Constant.ProductCode_WC)) * { * Item.productCode = Constant.WUW; * } * else if ((Item.productCode.Equals(Constant.ProductCode_MC))) * { * Item.productCode = Constant.WUM; * } * else * { * message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.ERR_VALIDATION + Constant.productCode); * log.WriteLog(message.responseCode + '-' + message.responseMessage); * return message; * } * } * else if (Item.dataSource.Equals(Constant.HLSYS)) * { * Item.productCode = Constant.HL; * } * else * { * message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.ERR_VALIDATION + Constant.dataSource); * log.WriteLog(message.responseCode + '-' + message.responseMessage); * return message; * }*/ //MAIG - CH1 - END - Modified the logic to get the Product code directly from External Interface //Mapping for Revenue Type if (Item.revenueType == Constant.revenuetype_ERND) { Item.revenueType = Constant.Revenue_Earned; } else if (Item.revenueType == Constant.revenuetype_INST) { Item.revenueType = Constant.Revenue_Installment; } else if (Item.revenueType == Constant.revenuetype_DOWN) { Item.revenueType = Constant.Revenue_Down; } else if (!string.IsNullOrEmpty(Item.revenueType)) { message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.ERR_VALIDATION + Constant.revenueType); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } if (string.IsNullOrEmpty(PaymentIDPProxyInputRequest.checkNumber)) { if (PaymentIDPProxyInputRequest.paymentMethod.ToUpper().Equals("CASH")) { PaymentIDPProxyInputRequest.checkNumber = string.Empty; } } Error = obj.InsertItem(Item, paymentid, PaymentIDPProxyInputRequest.checkNumber, PaymentIDPProxyInputRequest.paymentMethod, lineItemCount); if ((Error == "") || (paymentid == "")) { message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.VALIDATION_FAILURE); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } //Invoked the Echeck/Card Payment Method SP Call if (PaymentIDPProxyInputRequest.paymentMethod.Equals("1") || PaymentIDPProxyInputRequest.paymentMethod.Equals("5")) { message = new IDPProxyResponse(Constant.RESPONSE_SUCCESS, Constant.VALIDATION_SUCCESS + PaymentIDPProxyInputRequest.receiptNumber); cardEncrypt = PaymentIDPProxyInputRequest.card.cardEcheckNumber.ToString(); PaymentIDPProxyInputRequest.card.cardEcheckNumber = "XXXXXXXXXXXX" + cardEncrypt.Substring(11, 4).ToString(); obj.InsertCardCheck(paymentid, PaymentIDPProxyInputRequest.card); message = new IDPProxyResponse(Constant.RESPONSE_SUCCESS, Constant.VALIDATION_SUCCESS + PaymentIDPProxyInputRequest.receiptNumber); } } else { log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } lineItemCount++; } } } catch (FaultException ex) { log.WriteLog(ex.Message.ToString()); } catch (CommunicationException exp) { log.WriteLog(exp.Message.ToString()); } catch (Exception e) { String Err_Msg = e.ToString(); message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Err_Msg); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } log.WriteLog(message.responseCode + '-' + message.responseMessage); message = new IDPProxyResponse(Constant.RESPONSE_SUCCESS, Constant.VALIDATION_SUCCESS + PaymentIDPProxyInputRequest.receiptNumber); return(message); }
public IDPProxyResponse updateIDPReversalDetail(Update update) { try { if (ConfigurationSettings.AppSettings["LoggingEntry"].ToString() == "1") { System.Xml.Serialization.XmlSerializer serializerReq = new System.Xml.Serialization.XmlSerializer(update.GetType()); StringWriter writerReq = new StringWriter(); serializerReq.Serialize(writerReq, update); log.WriteLog(" Payment IDP Proxy Service Request for update from Payment Central : \r\n " + writerReq); writerReq.Close(); } log.WriteLog("Updation Request for the Receipt Number :" + update.receiptNumber); string flag = string.Empty; IDPProxyResponse message = null; InsertPaymentitem obj = new InsertPaymentitem(); //Input Field Validation message = (obj.UpdateValidation(update)); if (message.responseCode == Constant.RESPONSE_SUCCESS) { //SP CALL to invoke to update the transaction details flag = obj.PCPayUpdateVoid(update); if (flag == Constant.VALUE) { //CHG0072116 -Modified the message for failure in update process message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Constant.UPDATE_NO_RCPT_NUMBER); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } else { message = new IDPProxyResponse(Constant.RESPONSE_SUCCESS, Constant.UPDATE_SUCCESS + update.receiptNumber); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } } else { log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } } catch (FaultException ex) { log.WriteLog(ex.Message.ToString()); return(null); } catch (CommunicationException exp) { log.WriteLog(exp.Message.ToString()); return(null); } catch (ArgumentException ex) { String Err_Msg = ex.ToString(); message = new IDPProxyResponse(Constant.RESPONSE_FAILURE, Err_Msg); log.WriteLog(message.responseCode + '-' + message.responseMessage); return(message); } }