/// <author> /// Tuan /// </author> /// <param date="6/03/2017"></param> /// <param name="TxnAdjustmentDTO object"></param> /// <returns> IssMessageDTO</returns> public async Task <IssMessageDTO> ftMultipleAdjMaint(TxnAdjustmentDTO txtAdjustment) { using (var cardtrendentities = new pdb_ccmsContext(_connectionString)) { DataTable dt = new DataTable(); dt.Columns.Add("Acctno"); dt.Columns.Add("Cardno", typeof(string));// dt.Columns.Add("TxnAmt"); dt.Columns.Add("Descp"); dt.Columns.Add("InvoiceNo"); dt.Columns.Add("AppvCd"); dt.Columns.Add("DeftBusnLocation"); dt.Columns.Add("DeftTermId"); dt.Columns.Add("Owner"); dt.Columns.Add("Sts"); dt.Columns.Add("TxnDate"); dt.Columns.Add("DueDate"); dt.Columns.Add("TxnCd"); dt.Columns.Add("TxnId"); foreach (var item in txtAdjustment.multipleTxnRecord) { DataRow dr = dt.NewRow(); dr["AcctNo"] = item.AcctNo; dr["Cardno"] = item.CardNo; if (!string.IsNullOrEmpty(item.TxnAmt)) { dr["TxnAmt"] = CardTrend.Common.Extensions.NumberExtensions.ConvertDecimalToDb(item.TxnAmt); } else { dr["TxnAmt"] = DBNull.Value; } dr["Descp"] = item.TxnDescp; dr["InvoiceNo"] = item.InvoiceNo; dr["AppvCd"] = item.AppvCd; dr["DeftBusnLocation"] = item.DeftBusnLocation; dr["DeftTermId"] = item.DeftTermId; dr["Owner"] = txtAdjustment.Owner; dr["Sts"] = item.SelectedSts; dr["TxnDate"] = txtAdjustment.TxnDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture); dr["DueDate"] = DBNull.Value; dr["TxnCd"] = txtAdjustment.AdjTxnCd; dr["TxnId"] = item.TxnId; dt.Rows.Add(dr); } var parameters = new[] { new SqlParameter("@IssNo", SqlDbType.SmallInt) { SqlValue = Common.Helpers.Common.GetIssueNo() }, new SqlParameter("@CheqAmt", SqlDbType.Money) { SqlValue = txtAdjustment.ChequeAmt }, new SqlParameter("@UserId", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.UserId ?? DBNull.Value }, new SqlParameter("@Adjustment", SqlDbType.Structured) { SqlValue = dt, TypeName = "Adjustment" }, new SqlParameter("@RetCd", SqlDbType.Int) { Direction = ParameterDirection.Output }, new SqlParameter("@RcptNo", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.ChequeNo ?? DBNull.Value }, new SqlParameter("@BatchId", SqlDbType.Int) { SqlValue = (object)txtAdjustment.BatchId ?? DBNull.Value }, new SqlParameter("@Batch", SqlDbType.VarChar, 25) { Direction = ParameterDirection.Output }, new SqlParameter("@Owner", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.Owner ?? DBNull.Value }, new SqlParameter("@RcptOut", SqlDbType.Int) { Direction = ParameterDirection.Output }, new SqlParameter("@RETURN_VALUE", SqlDbType.BigInt) { Direction = ParameterDirection.Output } }; await cardtrendentities.Database.ExecuteSqlCommandAsync("exec @RETURN_VALUE = WebMultiTxnAdjustmentMaint @IssNo,@CheqAmt,@UserId,@Adjustment,@RetCd OUT," + "@RcptNo,@BatchId,@Batch OUT,@Owner,@RcptOut OUT", parameters); var resultCode = parameters.Where(x => x.ParameterName == "@RETURN_VALUE").FirstOrDefault().Value; var batchId = parameters.Where(x => x.ParameterName == "@Batch").FirstOrDefault().Value; var RetCd = parameters.Where(x => x.ParameterName == "@RetCd").FirstOrDefault().Value; var ChequeNo = parameters.Where(x => x.ParameterName == "@RcptOut").FirstOrDefault().Value; ResourceManager myManager = new ResourceManager(typeof(CardTrend.Common.Resources.IssMessages)); string strMessage = myManager.GetString("Msg" + resultCode); return(new IssMessageDTO() { Descp = strMessage, Flag = NumberExtensions.getFlagCode(resultCode), paraOut = new ReturnObject { BatchId = Convert.ToString(batchId), RetCd = Convert.ToString(RetCd), ChequeNo = Convert.ToString(ChequeNo) } }); } }
public async Task <IssMessageDTO> SaveMerchantMultiTxnAdjustmentMaint(TxnAdjustmentDTO adjustmentDetail, string userId) { using (var cardtrendentities = new pdb_ccmsContext(_connectionString)) { IssMessageDTO issMessage = new IssMessageDTO(); DataTable dt = new DataTable(); dt.Columns.Add("Acctno", typeof(long)); dt.Columns.Add("Cardno"); dt.Columns.Add("TxnAmt", typeof(decimal)); dt.Columns.Add("Descp"); dt.Columns.Add("InvoiceNo"); dt.Columns.Add("AppvCd"); dt.Columns.Add("DeftBusnlocation"); dt.Columns.Add("DeftTermId"); dt.Columns.Add("Owner"); dt.Columns.Add("Sts"); dt.Columns.Add("TxnDate"); dt.Columns.Add("DueDate"); dt.Columns.Add("TxnCd"); dt.Columns.Add("TxnId"); foreach (var item in adjustmentDetail.multipleTxnRecord) { DataRow dr = dt.NewRow(); dr["DeftBusnlocation"] = item.MerchantAcctNo; dr["TxnAmt"] = (object)NumberExtensions.ConvertDecimalToDb(item.TxnAmt) ?? DBNull.Value; dr["Descp"] = (object)item.Descp ?? DBNull.Value; dr["TxnCd"] = adjustmentDetail.TxnCd; dr["TxnDate"] = adjustmentDetail.TxnDate.ToShortDateString(); dr["DueDate"] = adjustmentDetail.DueDate == DateTime.MinValue ? DBNull.Value : NumberExtensions.ConvertDatetimeDB(adjustmentDetail.DueDate.ToShortDateString()); dr["Owner"] = adjustmentDetail.Owner; dr["InvoiceNo"] = (object)adjustmentDetail.InvoiceNo ?? DBNull.Value; dr["TxnId"] = (object)adjustmentDetail.TxnId ?? DBNull.Value; dt.Rows.Add(dr); } var parameters = new[] { new SqlParameter("@IssNo", SqlDbType.SmallInt) { SqlValue = Common.Helpers.Common.GetIssueNo() }, new SqlParameter("@CheqAmt", SqlDbType.Money) { SqlValue = NumberExtensions.ConvertDecimalToDb(adjustmentDetail.ChequeAmt) }, new SqlParameter("@UserId", SqlDbType.VarChar) { SqlValue = (object)userId ?? DBNull.Value }, new SqlParameter("@Adjustment", SqlDbType.Structured) { SqlValue = dt, TypeName = "Adjustment" }, new SqlParameter("@RetCd", SqlDbType.Int) { Direction = ParameterDirection.Output }, new SqlParameter("@RcptNo", SqlDbType.VarChar) { SqlValue = (object)adjustmentDetail.InvoiceNo ?? DBNull.Value }, new SqlParameter("@BatchId", SqlDbType.Int) { SqlValue = (object)adjustmentDetail.BatchId ?? DBNull.Value }, new SqlParameter("@BatchOut", SqlDbType.VarChar, 25) { Direction = ParameterDirection.Output }, new SqlParameter("@Owner", SqlDbType.VarChar) { SqlValue = (object)adjustmentDetail.Owner ?? DBNull.Value }, new SqlParameter("@RETURN_VALUE", SqlDbType.BigInt) { Direction = ParameterDirection.Output } }; await cardtrendentities.Database.ExecuteSqlCommandAsync("exec @RETURN_VALUE = WebMerchantMultiTxnAdjustmentMaint @IssNo,@CheqAmt,@UserId,@Adjustment,@RetCd OUT," + "@RcptNo,@BatchId,@BatchOut OUT,@Owner", parameters); var resultCode = parameters.Where(x => x.ParameterName == "@RETURN_VALUE").FirstOrDefault().Value; ResourceManager myManager = new ResourceManager(typeof(CardTrend.Common.Resources.IssMessages)); issMessage.paraOut.BatchId = parameters.Where(x => x.ParameterName == "@BatchOut").FirstOrDefault().Value.ToString(); issMessage.paraOut.RetCd = parameters.Where(x => x.ParameterName == "@RetCd").FirstOrDefault().Value.ToString(); issMessage.Descp = myManager.GetString("Msg" + resultCode); issMessage.Flag = Convert.ToInt32(resultCode); return(issMessage); } }
/************************************* * Created by: Tuan Tran * Created on: Mar 8, 2017 * Function: GetMultiTxnAdjustmentSelect * Purpose: GetMultiTxnAdjustmentSelect * Inputs: batchId,chequeNo * Returns: MultipleTxnOpResponse *************************************/ public async Task <MultipleTxnOpResponse> GetMultiTxnAdjustmentSelect(string batchId, string chequeNo) { Logger.Info("Invoking GetMultiTxnAdjustmentSelect function"); var response = new MultipleTxnOpResponse() { Status = ResponseStatus.Failure, }; try { using (var scope = Container.BeginLifetimeScope()) { var multipleTxnOpDAO = scope.Resolve <IMultipleTxnOpDAO>(); var result = await multipleTxnOpDAO.WebMultiTxnAdjustmentSelect(batchId, chequeNo); var txnList = new List <MultipleTxnRecordDTO>(); TxnAdjustmentDTO txnAdjustment = new TxnAdjustmentDTO(); if (result.Count() > 0) { foreach (var item in result) { MultipleTxnRecordDTO multipleTxtRecord = new MultipleTxnRecordDTO(); multipleTxtRecord.AcctNo = Convert.ToInt32(item.AccountNo); multipleTxtRecord.CardNo = item.CardNo; multipleTxtRecord.TxnAmt = Convert.ToString(decimal.Round(item.TxnAmount, 2, MidpointRounding.AwayFromZero)); multipleTxtRecord.TxnDescp = item.TxnDescription; multipleTxtRecord.AppvCd = item.AppvCd; multipleTxtRecord.DeftBusnLocation = item.Dealer; multipleTxtRecord.DeftTermId = item.TermId; multipleTxtRecord.SelectedOwner = item.Owner; multipleTxtRecord.SelectedStsDescp = item.Status; multipleTxtRecord.SelectedSts = item.Sts; multipleTxtRecord.TxnId = Convert.ToString(item.TxnId); multipleTxtRecord.AcctName = item.AccountName; txnList.Add(multipleTxtRecord); // txnAdjustment.TxnDate = item.TxnDate; txnAdjustment.ChequeAmt = item.ChequeAmt; txnAdjustment.ChequeNo = item.ChequeNo; txnAdjustment.BillingAmount = item.BillingAmount; txnAdjustment.UserId = item.UserId; txnAdjustment.WUId = item.WUId; txnAdjustment.CreationDate = item.CreationDate; txnAdjustment.BatchId = item.BatchId; txnAdjustment.Owner = item.Owner; txnAdjustment.Sts = item.Sts; txnAdjustment.TxnCd = item.TxnCd; txnAdjustment.TxnType = item.TxnType; txnAdjustment.PymtType = item.PymtType; } } txnAdjustment.multipleTxnRecord = txnList; response.txnAdjustment = Mapper.Map <TxnAdjustment>(txnAdjustment); } response.Status = ResponseStatus.Success; } catch (Exception ex) { string msg = string.Format("Error in GetMultiTxnAdjustmentSelect: detail:{0}", ex.Message); Logger.Error(msg, ex); response.Status = ResponseStatus.Exception; response.Message = msg; } return(response); }
/************************************* * Created by: dandy boy * Created on: March 22, 2017 * Function: SaveMerchantMultiTxnAdjustmentMaint * Purpose: SaveMerchantMultiTxnAdjustmentMaint * Inputs: TxnAdjustmentDTO,invoiceNo,userId * Returns: SaveAcctSignUpResponse *************************************/ public async Task <SaveAcctSignUpResponse> SaveMerchantMultiTxnAdjustmentMaint(TxnAdjustmentDTO adjustmentDetail, string userId) { Logger.Info("Invoking SaveMerchantMultiTxnAdjustmentMaint function"); var response = new SaveAcctSignUpResponse() { Status = ResponseStatus.Failure, }; try { using (var scope = Container.BeginLifetimeScope()) { var merchMultitxnAdjustmentDAO = scope.Resolve <IMerchMultitxnAdjustmentDAO>(); var controlDAO = scope.Resolve <IControlDAO>(); var result = await merchMultitxnAdjustmentDAO.SaveMerchantMultiTxnAdjustmentMaint(adjustmentDetail, userId); var message = await controlDAO.GetMessageCode(result.Flag); response.desp = message.Descp; response.returnValue.BatchId = result.paraOut.BatchId; response.returnValue.RetCd = result.paraOut.RetCd; response.flag = message.Flag; } response.Status = ResponseStatus.Success; } catch (Exception ex) { string msg = string.Format("Error in SaveMerchantMultiTxnAdjustmentMaint: detail:{0}", ex.Message); Logger.Error(msg, ex); response.Status = ResponseStatus.Exception; response.desp = ex.Message; response.flag = 1; response.Message = msg; } return(response); }
public async Task <IssMessageDTO> WebMultiPaymentMaint(TxnAdjustmentDTO txtAdjustment) { using (var cardtrendentities = new pdb_ccmsContext(_connectionString)) { IssMessageDTO issMessage = new IssMessageDTO(); DataTable dt = new DataTable(); dt.Columns.Add("TxnId"); dt.Columns.Add("AcctNo", typeof(long)); dt.Columns.Add("PymtAmt", typeof(decimal)); dt.Columns.Add("Descp"); foreach (var item in txtAdjustment.multipleTxnRecord) { DataRow dr = dt.NewRow(); dr["AcctNo"] = item.AcctNo; if (!string.IsNullOrEmpty(item.TxnAmt)) { dr["PymtAmt"] = CardTrend.Common.Extensions.NumberExtensions.ConvertDecimalToDb(item.TxnAmt); } else { dr["PymtAmt"] = DBNull.Value; } dr["Descp"] = item.TxnDescp; dr["TxnId"] = item.TxnId; dt.Rows.Add(dr); } var parameters = new[] { new SqlParameter("@IssNo", SqlDbType.SmallInt) { SqlValue = Common.Helpers.Common.GetIssueNo() }, new SqlParameter("@BatchId", SqlDbType.Int) { SqlValue = txtAdjustment.BatchId }, new SqlParameter("@RefKey", SqlDbType.BigInt) { SqlValue = (object)txtAdjustment.RefId ?? DBNull.Value }, new SqlParameter("@ChequeNo", SqlDbType.BigInt) { SqlValue = (object)(Convert.ToUInt64(txtAdjustment.ChequeNo)) ?? DBNull.Value }, new SqlParameter("@TxnCd", SqlDbType.VarChar) { SqlValue = (object)Convert.ToString(txtAdjustment.TxnCd) ?? DBNull.Value }, new SqlParameter("@TxnDate", SqlDbType.Date) { SqlValue = (object)txtAdjustment.TxnDate ?? DBNull.Value }, new SqlParameter("@DueDate", SqlDbType.Date) { SqlValue = (object)txtAdjustment.DueDate ?? DBNull.Value }, new SqlParameter("@TtlPymt", SqlDbType.Money) { SqlValue = (object)Convert.ToDecimal(txtAdjustment.ChequeAmt) ?? DBNull.Value }, new SqlParameter("@SlipNo", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.SlipNo ?? DBNull.Value }, new SqlParameter("@IssueingBankCd", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.IssueingBank ?? DBNull.Value }, new SqlParameter("@Payment", SqlDbType.Structured) { SqlValue = dt, TypeName = "Payment" }, new SqlParameter("@Owner", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.Owner ?? DBNull.Value }, new SqlParameter("@UserId", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.UserId ?? DBNull.Value }, new SqlParameter("@SettleVal", SqlDbType.VarChar) { SqlValue = (object)txtAdjustment.SelectedGLSettlement ?? DBNull.Value }, new SqlParameter("@Batch", SqlDbType.VarChar, 20) { Direction = ParameterDirection.Output }, new SqlParameter("@RETURN_VALUE", SqlDbType.BigInt) { Direction = ParameterDirection.Output } }; await cardtrendentities.Database.ExecuteSqlCommandAsync("exec @RETURN_VALUE = WebMultiPaymentMaint @IssNo,@BatchId,@RefKey,@ChequeNo,@TxnCd," + "@TxnDate,@DueDate,@TtlPymt,@SlipNo,@IssueingBankCd,@Payment,@Owner,@UserId,@SettleVal,@Batch OUT", parameters); var resultCode = parameters.Where(x => x.ParameterName == "@RETURN_VALUE").FirstOrDefault().Value; var batchId = parameters.Where(x => x.ParameterName == "@Batch").FirstOrDefault().Value; ResourceManager myManager = new ResourceManager(typeof(CardTrend.Common.Resources.IssMessages)); issMessage.Descp = myManager.GetString("Msg" + resultCode); issMessage.Flag = Convert.ToInt32(resultCode); issMessage.paraOut.BatchId = Convert.ToString(batchId); return(issMessage); } }