Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 3
0
        /*************************************
        *  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);
        }
Esempio n. 4
0
        /*************************************
        *  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);
        }
Esempio n. 5
0
        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);
            }
        }