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); }
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)); } }
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); }
/// <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); }
/// <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); }
public IHttpActionResult agregarTransaccion(RequestTransaction request) { request.userName = User.Identity.Name; Business.Transacciones.IRepositorioTransaccion repos = new Business.Transacciones.Transaccion(); return(Json(repos.AgregarTransaccion(request))); }