예제 #1
0
        public int GetTransaction(CrearTransaccionRequest transaction)
        {
            decimal tranId = 0;

            using (Transaction_DB db = new Transaction_DB())
            {
                tranId = db.Database.SqlQuery <decimal>(QUERY_CREATETRANASCTION,
                                                        new SqlParameter("@country", Convert.ToInt32(ConfigurationManager.AppSettings["CountryID"])),
                                                        new SqlParameter("@tipoTran", (int)TipoTransaccion.PSE),
                                                        new SqlParameter("@codExterno", "0"),
                                                        new SqlParameter("@cliente", Convert.ToInt32(transaction.Client)),
                                                        new SqlParameter("@estadoTransaccion", (int)TransaccionEstado.Creado),
                                                        new SqlParameter("@fuente", 1),
                                                        new SqlParameter("@monto", transaction.TotalConIva)).FirstOrDefault();
            }

            return(Convert.ToInt32(tranId));
        }
예제 #2
0
        public CrearTransaccionResponse CrearTransaccion(CrearTransaccionRequest crearTransactionRequest)
        {
            string methodName = string.Format("{0}", System.Reflection.MethodBase.GetCurrentMethod().Name);

            this.ProviderLogger.InfoLow(() => TagValue.New().MethodName(methodName)
                                        .Message("Started"));

            CrearTransaccionResponse response = new CrearTransaccionResponse();

            string sessionId = this.GetSessionId(crearTransactionRequest, response, out this.errorMessage);

            this.ProviderLogger.InfoLow(() => TagValue.New().MethodName(methodName)
                                        .Message("[" + sessionId + "] " + "Creando Transaccion"));
            if (this.errorMessage != ErrorMessagesMnemonics.None)
            {
                this.LogResponse(response);
                return(response);
            }

            try
            {
                int id = new TransactionDB().GetTransaction(crearTransactionRequest);
                this.ProviderLogger.InfoLow(() => TagValue.New().MethodName(methodName)
                                            .Message("[" + sessionId + "] " + "Creada ").Tag("id").Value(id));
                return(new CrearTransaccionResponse {
                    TransactionID = id, ResponseMessage = "Ok", ResponseCode = 0
                });
            }
            catch (Exception e)
            {
                this.ProviderLogger.ExceptionHigh(() => TagValue.New().MethodName(methodName).Exception(e));
                return(new CrearTransaccionResponse {
                    TransactionID = 0, ResponseMessage = e.Message, ResponseCode = 99
                });
            }
            finally {
                this.ProviderLogger.InfoLow(() => TagValue.New().MethodName(methodName)
                                            .Message("[" + sessionId + "] End"));
            }
        }
예제 #3
0
 public CrearTransaccionResponse CreateTransaction(CrearTransaccionRequest createTransactionRequest)
 {
     return(new PaymentProvider().CrearTransaccion(createTransactionRequest));
 }