Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }
Example #4
0
 public Task <int> InsertProposal(TransactionProposalDTO proposaTransaction)
 {
     try
     {
         var proposalId = _proposalRepository.InsertProposal(proposaTransaction);
         return(proposalId);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #5
0
        public async Task <bool> UpdateTotalProposal(TransactionProposalDTO transactionProposal)
        {
            try
            {
                await _proposalRepository.UpdateTotalProposal(transactionProposal);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }