public async Task <bool> UpdateTotalProposal(TransactionProposalDTO proposaTransaction) { using var transaction = _context.Database.BeginTransaction(); try { await UpdatePropsal(proposaTransaction.Proposal); var proposalId = proposaTransaction.Proposal.Id; foreach (var mobile in proposaTransaction.MobileDevices) { mobile.IdPropuesta = proposalId; } foreach (var line in proposaTransaction.Lines) { line.IdPropuesta = proposalId; } await UpdateProposalMobileDevices(proposaTransaction.MobileDevices, proposalId); await UpdateProposalLines(proposaTransaction.Lines, proposalId); // await _context.SaveChanges(); transaction.Commit(); return(true); } catch (Exception ex) { transaction.Rollback(); throw ex; } }
public async Task <int> InsertProposal(TransactionProposalDTO proposaTransaction) { using var transaction = _context.Database.BeginTransaction(); try { var proposalId = await AddProposal(proposaTransaction.Proposal); foreach (var line in proposaTransaction.Lines) { line.IdPropuesta = proposalId; } await AddLineasPropuesta(proposaTransaction.Lines); foreach (var mobile in proposaTransaction.MobileDevices) { mobile.IdPropuesta = proposalId; } await AddEquiposProposal(proposaTransaction.MobileDevices); await _context.SaveChangesAsync(); transaction.Commit(); return(proposalId); } catch (Exception ex) { transaction.Rollback(); throw ex; } }
private TransactionProposalDTO GetTransactionProposal(ProposalData proposal) { ProposalDTO propuestaDTO = new ProposalDTO() { Id = proposal.Id, Documento = proposal.Client.Documento, Payback = proposal.Payback, DevicePayment = proposal.DevicePayment, Subsidio = proposal.Subsidio, CreatedDate = DateTime.Now, Estado = "Pendiente", IdUsuario = proposal.IdUsuario, Activa = proposal.Activa }; if (proposal.Finalizada) { propuestaDTO.Estado = "Finalizada"; } var lineasDTO = new List <ProposalLineDTO>(); for (var i = 0; i < proposal.SuggestorList.Count; i++) { lineasDTO.Add(new ProposalLineDTO() { NumeroLinea = proposal.SuggestorList[i].Movil.ToString(), Plan = proposal.PlanesDefList[i].Plan, IdPropuesta = 0 }); } var equiposDTO = new List <ProposalDeviceDTO>(); foreach (DevicePymes equipo in proposal.MobileDevicesList) { equiposDTO.Add(new ProposalDeviceDTO() { IdPropuesta = 0, CODIGO_EQUIPO = equipo.CodigoEquipo }); } var transactionProposalDto = new TransactionProposalDTO() { Proposal = propuestaDTO, Lines = lineasDTO, MobileDevices = equiposDTO }; return(transactionProposalDto); }
public Task <int> InsertProposal(TransactionProposalDTO proposaTransaction) { try { var proposalId = _proposalRepository.InsertProposal(proposaTransaction); return(proposalId); } catch (Exception ex) { throw ex; } }
public async Task <bool> UpdateTotalProposal(TransactionProposalDTO transactionProposal) { try { await _proposalRepository.UpdateTotalProposal(transactionProposal); return(true); } catch (Exception ex) { throw ex; } }