private void AdicionarParcelasDoRepasseEAcesso(Repasse repasse)
        {
            Repasse cloneRepasse = repasse.Clone();

            for (int i = 1; i < repasse.QtdVezesRepetir; i++)
            {
                cloneRepasse.Id          = 0;
                cloneRepasse.DataRepasse = cloneRepasse.DataRepasse.AddMonths(1);
                _repasseRepository.Adicionar(cloneRepasse);
                cloneRepasse = cloneRepasse.Clone();
            }
        }
        private void AdicionarParcelasDeRepasseNoStfcorpENoEacesso(
            RepasseNivelUm repasseStfCorp, Repasse repasseEAcesso, int repasseCadastradoLogIdDominio
            )
        {
            int idDominioAprovadoNivelUm = _dominioRepository.Buscar((int)StatusRepasseEacesso.APROVADO_NIVEL_UM, StatusRepasseEacesso.VL_TIPO_DOMINIO.GetDescription()).Id;

            Repasse cloneRepasseEacesso = repasseEAcesso.Clone();

            cloneRepasseEacesso.IdRepasseMae = repasseEAcesso.Id;

            RepasseNivelUm cloneRepasseStfCorp = repasseStfCorp.Clone();

            cloneRepasseStfCorp.IdRepasseMae        = repasseStfCorp.Id;
            cloneRepasseStfCorp.IdRepasseMaeEAcesso = repasseEAcesso.Id;

            for (int i = 1; i < repasseEAcesso.QtdVezesRepetir; i++)
            {
                cloneRepasseEacesso.Id = 0;
                cloneRepasseEacesso.DescricaoProjeto = $"{repasseEAcesso.DescricaoProjeto} - {i + 1}/{repasseEAcesso.QtdVezesRepetir.ToString()}";
                cloneRepasseEacesso.DataRepasse      = cloneRepasseEacesso.DataRepasse.AddMonths(1);
                _repasseRepository.Adicionar(cloneRepasseEacesso);
                _unitOfWork.CommitLegado();
                cloneRepasseEacesso = cloneRepasseEacesso.Clone();


                cloneRepasseStfCorp.Id               = 0;
                cloneRepasseStfCorp.DataRepasse      = cloneRepasseStfCorp.DataRepasse.AddMonths(1);
                cloneRepasseStfCorp.DataLancamento   = cloneRepasseStfCorp.DataLancamento.AddMonths(1);
                cloneRepasseStfCorp.IdRepasseEacesso = cloneRepasseEacesso.Id;
                cloneRepasseStfCorp.LogsRepasse      = null;
                cloneRepasseStfCorp.ParcelaRepasse   = $"{i + 1}/{repasseEAcesso.QtdVezesRepetir.ToString()}";

                //cloneRepasseStfCorp.DescricaoProjeto = $"{repasseEAcesso.DescricaoProjeto} - {i + 1}/{repasseEAcesso.QtdVezesRepetir.ToString()}";
                _repasseNivelUmRepository.Adicionar(cloneRepasseStfCorp);
                _unitOfWork.Commit();
                _repasseNivelUmRepository.DetachEntity(cloneRepasseStfCorp);
                AdicionarLogRepasse(cloneRepasseStfCorp.Id, repasseCadastradoLogIdDominio, String.Empty);

                if (cloneRepasseStfCorp.IdCelulaOrigem == cloneRepasseStfCorp.IdCelulaDestino)
                {
                    AdicionarLogRepasse(cloneRepasseStfCorp.Id, idDominioAprovadoNivelUm, String.Empty);
                }

                _unitOfWork.Commit();
                cloneRepasseStfCorp = cloneRepasseStfCorp.Clone();
            }
        }
Example #3
0
        public void PersistirRepasse(Repasse repasse, int vezesRepetidas)
        {
            var clonado = (Repasse)repasse.Clone();

            repasse.DtRepasse = repasse.DtRepasse.Date;
            if (vezesRepetidas > 1)
            {
                repasse.NrParcela   = 1;
                repasse.DescProjeto = repasse.DescProjeto + " - PARCELA 1" + " / " + vezesRepetidas;
                _repasseRepository.Adicionar(repasse);
                for (int i = 1; i < vezesRepetidas; i++)
                {
                    var parcela = (Repasse)clonado.Clone();
                    parcela.NrParcela    = i + 1;
                    parcela.IdRepasseMae = repasse.Id;
                    parcela.DtRepasse    = repasse.DtRepasse.AddMonths(i).Date;
                    parcela.DtRepasseMae = repasse.DtRepasse.Date;
                    parcela.DescProjeto  = parcela.DescProjeto + " - PARCELA " + (i + 1) + " / " + vezesRepetidas;
                    if (_repasseRepository.BuscarPorId(repasse.Id) != null)
                    {
                        _repasseRepository.Update(parcela);
                    }
                    else
                    {
                        _repasseRepository.Adicionar(parcela);
                    }
                }
            }
            else
            {
                repasse.NrParcela = null;
                if (_repasseRepository.BuscarPorId(repasse.Id) != null)
                {
                    _repasseRepository.Update(repasse);
                }
                else
                {
                    _repasseRepository.Adicionar(repasse);
                }
            }
            _unitOfWork.Commit();
        }