Exemple #1
0
 private async Task generateStatusNotification(RequestTransaction request, TransactionStatus status)
 {
     var notification = NotificationFactory.CreateRequestStatusNotification(
         Guid.NewGuid().ToString(), request.Data.SenderAccountId,
         request.Data.ReceiverAccountId, request.Data.Amount, status,
         false, DateTime.Now);
     await notifications.AddObject(notification);
 }
Exemple #2
0
 public int SubmitOrTrackRequest(RequestTransaction requestTransaction)
 {
     Logging.LogDebugMessage("Method: SubmitOrTrackRequest, MethodType: Post, Layer: RequestTransactionController, Parameters: requestTransaction = " + JsonConvert.SerializeObject(requestTransaction));
     using (RequestTransactionBL requestTransactionBL = new RequestTransactionBL())
     {
         return(requestTransactionBL.SubmitOrTrackRequest(requestTransaction));
     }
 }
Exemple #3
0
        public ResultJson AgregarTransaccion(RequestTransaction transaction)
        {
            try
            {
                using (Model.DbContextJulio db = new Model.DbContextJulio())
                {
                    var _usuarioLogeado = db.AspNetUsers.Where(s => s.UserName == transaction.userName).FirstOrDefault();

                    Model.EntitiesModels.transaccion _transaccion = new Model.EntitiesModels.transaccion()
                    {
                        participante_id     = transaction.Participante_id,
                        tipo_transaccion_id = transaction.Tipo_transaccion_id,
                        fecha            = DateTime.Parse(transaction.Fecha_transaccion),
                        puntos           = transaction.Puntos,
                        importe          = 0,
                        puntos_redimidos = 0,
                        usuario_id       = Guid.Parse(_usuarioLogeado.Id),
                        fecha_captura    = DateTime.Now
                    };
                    db.transaccion.Add(_transaccion);
                    db.SaveChanges();

                    if (!string.IsNullOrEmpty(transaction.comentarios))
                    {
                        transaccion_comentarios tc = new transaccion_comentarios()
                        {
                            transaccion_id  = _transaccion.id,
                            comentarios     = transaction.comentarios,
                            fecha_alta      = DateTime.Now,
                            usuario_alta_id = Guid.Parse(_usuarioLogeado.Id)
                        };
                        db.transaccion_comentarios.Add(tc);
                        db.SaveChanges();
                    }

                    // Actualiza Saldo Participante
                    Dictionary <string, object> parameters = new Dictionary <string, object>();
                    parameters.Add("@participante_id", transaction.Participante_id);
                    DataSet setTables = db.GetDataSet("[dbo].[sp_actualiza_saldo_participante_todo]", CommandType.StoredProcedure, parameters);
                    //
                    result.Message = "La transacción se agrego correctamente";
                };
                return(result);
            }
            catch (Exception ex)
            {
                result.Success        = false;
                result.Message        = "Error en la transacción, vuelva intentarlo mas tarde";
                result.InnerException = $"{ex.Message}";
                return(result);
            }
        }
        /*      public static Transaction Create(TransactionView v) {
         *        var r = new TransactionData{
         *            Amount = v?.Amount ?? (decimal?) 0.0,
         *            Explanation = v?.Explanation,
         *            ID = v?.ID,
         *            SenderAccountId = v?.SenderAccountId,
         *            ReceiverAccountId = v?.ReceiverAccountId,
         *            ValidFrom = v?.ValidFrom ?? DateTime.MinValue,
         *            ValidTo = v?.ValidTo ?? DateTime.MaxValue,
         *        };
         *        return new Transaction(r);
         *    }*/
        public static RequestTransactionView Create(RequestTransaction o)
        {
            var v = new RequestTransactionView
            {
                Amount            = o?.Data.Amount ?? (decimal?)0.0,
                Explanation       = o?.Data.Explanation,
                ID                = o?.Data?.ID,
                SenderAccountId   = o?.Data.SenderAccountId,
                ReceiverAccountId = o?.Data.ReceiverAccountId,
                Status            = o?.Data.Status ?? TransactionStatus.Pending
            };

            if (o is null)
            {
                return(v);
            }
            v.ValidFrom = Date.SetNullIfMaxOrMin(o.Data.ValidFrom);
            v.ValidTo   = Date.SetNullIfMaxOrMin(o.Data.ValidTo);
            return(v);
        }
Exemple #5
0
 /// <summary> Submit or track the Request </summary>
 /// <param name="requestTransaction">The object of type RequestTransaction</param>
 /// <returns> Integer object </returns>
 public int SubmitOrTrackRequest(RequestTransaction requestTransaction)
 {
     Logging.LogDebugMessage("Method: SubmitOrTrackRequest, MethodType: Post, Layer: RequestTransactionBL, Parameters: requestTransaction = " + JsonConvert.SerializeObject(requestTransaction));
     try
     {
         using (RequestTransactionDAL dl = new RequestTransactionDAL())
         {
             string ImagesPath       = Models.AppSettings.ImagesUploadPath.ToString();
             List <RequestPhoto> lst = requestTransaction.requestPhotos;
             if (lst != null && lst.Count > 0)
             {
                 foreach (RequestPhoto item in lst)
                 {
                     item.ImageName = CreateFileInLocal(item.ImageUrl, item.ImageName, ImagesPath);
                     //item.ImageUrl = ImagesPath + "\\" + item.ImageName;
                     item.ImageUrl = "./" + ImagesPath.Split("\\")[ImagesPath.Split("\\").Length - 2] + "/" + ImagesPath.Split("\\")[ImagesPath.Split("\\").Length - 1] + "/" + item.ImageName;
                 }
             }
             requestTransaction.requestPhotos = lst;
             int requestTransactionId = dl.SubmitOrTrackRequest(requestTransaction);
             if (requestTransaction.IsEmailSend && requestTransaction.UserId != null)
             {
                 Int64 userId = Convert.ToInt64(requestTransaction.UserId);
                 this.SendEmail(userId, requestTransactionId, requestTransaction.RequestTemplateId);
             }
             return(requestTransactionId);
         }
     }
     catch (SqlException sqlEx)
     {
         Logging.LogErrorMessage("Method: SubmitOrTrackRequest, Layer: RequestTransactionBL, Stack Trace: " + sqlEx.ToString());
         throw;
     }
     catch (Exception ex)
     {
         Logging.LogErrorMessage("Method: SubmitOrTrackRequest, Layer: RequestTransactionBL, Stack Trace: " + ex.ToString());
         throw;
     }
 }
 public void CreateRequestTest()
 {
     req = TransactionFactory.CreateRequest(id, amount, explanation, senderAccountId, receiverAccountId, status, validFrom, validTo);
     validateRequestResults(id, amount, explanation, senderAccountId, receiverAccountId, validFrom, validTo, status);
 }
Exemple #7
0
        /// <summary> Submit or track the Request </summary>
        /// <param name="requestTransaction">The object of type RequestTransaction</param>
        /// <returns> Integer object </returns>
        public int SubmitOrTrackRequest(RequestTransaction request)
        {
            int transactionID = 0;

            Logging.LogDebugMessage("Method: SubmitOrTrackRequest, MethodType: Post, Layer: RequestTransactionDAL, Parameters: request = " + JsonConvert.SerializeObject(request));
            var       ds           = new DataSet();
            DataTable dataTableOne = new DataTable();

            dataTableOne = EntityCollectionHelper.ConvertTo <RequestLocation>(request.requestLocation);
            DataTable dataTableTwo = new DataTable();

            dataTableTwo = EntityCollectionHelper.ConvertTo <RequestPhoto>(request.requestPhotos);
            DataTable dataTableThree = new DataTable();

            dataTableThree = EntityCollectionHelper.ConvertTo <RequestTransactionDetails>(request.requestTransactionDetails);
            DataTable dataTableFour = new DataTable();

            dataTableFour = EntityCollectionHelper.ConvertTo <RequestTransactionTrack>(request.requestTransactionTracks);
            DataTable dataTableFive = new DataTable();

            dataTableFive = EntityCollectionHelper.ConvertTo <RequestTransactionHistory>(request.requestTransactionHistory);
            try
            {
                using (var command = new SqlCommand())
                {
                    command.Connection  = new SqlConnection(this.connectionString);
                    command.CommandText = "USP_SumitOrTrackRequest";
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@RequestTransactionId", Value = request.RequestTransactionId
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@RequestTemplateId", Value = request.RequestTemplateId
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@RequestStatus", Value = request.RequestStatus
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@UserId", Value = request.UserId
                    });
                    command.Parameters.Add(new SqlParameter()
                    {
                        ParameterName = "@RowStatus", Value = request.RowStatus
                    });
                    SqlParameter structuredParamOne = new SqlParameter("@RequestLocation", SqlDbType.Structured);
                    structuredParamOne.Value = dataTableOne;
                    command.Parameters.Add(structuredParamOne);
                    SqlParameter structuredParamTwo = new SqlParameter("@RequestPhotos", SqlDbType.Structured);
                    structuredParamTwo.Value = dataTableTwo;
                    command.Parameters.Add(structuredParamTwo);
                    SqlParameter structuredParamthree = new SqlParameter("@RequestTransactionDetails", SqlDbType.Structured);
                    structuredParamthree.Value = dataTableThree;
                    command.Parameters.Add(structuredParamthree);
                    SqlParameter structuredParamFour = new SqlParameter("@RequestTransactionTrack", SqlDbType.Structured);
                    structuredParamFour.Value = dataTableFour;
                    command.Parameters.Add(structuredParamFour);
                    SqlParameter structuredParamFive = new SqlParameter("@RequestTransactionHistory", SqlDbType.Structured);
                    structuredParamFive.Value = dataTableFive;
                    command.Parameters.Add(structuredParamFive);

                    using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                    {
                        adapter.Fill(ds);
                        if (ds != null && ds.Tables.Count > 0)
                        {
                            transactionID = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
                        }
                    }
                }
            }
            catch (SqlException sqlEx)
            {
                Logging.LogErrorMessage("Method: SubmitOrTrackRequest, Layer: RequestTransactionDAL, Stack Trace: " + sqlEx.ToString());
                throw;
            }
            catch (Exception ex)
            {
                Logging.LogErrorMessage("Method: SubmitOrTrackRequest, Layer: RequestTransactionDAL, Stack Trace: " + ex.ToString());
                throw;
            }
            return(transactionID);
        }
Exemple #8
0
 public IHttpActionResult agregarTransaccion(RequestTransaction request)
 {
     request.userName = User.Identity.Name;
     Business.Transacciones.IRepositorioTransaccion repos = new Business.Transacciones.Transaccion();
     return(Json(repos.AgregarTransaccion(request)));
 }