示例#1
0
        public static RemuneracaoDeBancoDeSaldo ConverteParaDominio(RemuneracaoDeBancoDeSaldoBD banco)
        {
            RemuneracaoDeBancoDeSaldo dominio = new RemuneracaoDeBancoDeSaldo();

            if (banco != null)
            {
                dominio.DataRegistro     = banco.DataRegistro;
                dominio.Id               = banco.Id;
                dominio.IdEntrega        = banco.IdEntregaDeSaldoFuncionario;
                dominio.IdEntregaCliente = banco.IdEntregaDeSaldoCliente;
                dominio.IdCliente        = banco.IdCliente;
                dominio.IdContrato       = banco.IdContrato;
                dominio.IdFavorecido     = banco.IdFuncionario;
                dominio.RegraGeradora    = new RegraPorHora(banco.Regra.ConverterParaRegra());
                dominio.NomeFavorecido   = banco.NomeFuncionario;

                dominio.ValorBruto      = new Dinheiro(banco.ValorARemunerar, Moeda.Obtem(banco.ValorARemunerarMoeda));
                dominio.ValorAjustado   = new Dinheiro(banco.ValorARemunerar, Moeda.Obtem(banco.ValorARemunerarMoeda));
                dominio.ValorHora       = banco.EntregaFuncionario != null ? new Dinheiro(banco.EntregaFuncionario.ValorHora) : new Dinheiro();
                dominio.QtdMinutos      = banco.EntregaFuncionario != null ? -banco.EntregaFuncionario.QtdMinutos : 0;
                dominio.ValorARemunerar = new Dinheiro(banco.ValorARemunerar, Moeda.Obtem(banco.ValorARemunerarMoeda));
                dominio.DataDaEntrega   = banco.EntregaFuncionario != null ?  banco.EntregaFuncionario.DataFaturamento : DateTime.MinValue;
                dominio.TipoDaEntrega   = TipoDeEntrega.BancoDeSaldoFuncionario;
                dominio.Vinculacao      = banco.EntregaFuncionario.Vinculacao;

                dominio.AdicionarVinculo(new ModelosBaseDeDominio.Vinculo(Definicoes.ID_VINCULO_CONTRATO_DE_REMUNERACAO, banco.ContratoDeRemuneracao.Id, banco.ContratoDeRemuneracao.Nome));
                dominio.AdicionarVinculo(new ModelosBaseDeDominio.Vinculo(Definicoes.ID_VINCULO_REGRA_DE_REMUNERACAO, banco.Regra.Id, banco.Regra.Nome));
                dominio.AdicionarVinculo(new ModelosBaseDeDominio.Vinculo(Definicoes.ID_VINCULO_IDRECEBIMENTO, 0, "Proveniente de Banco de Saldo"));

                ModelosBaseDeDominio.Vinculo entregaDeOrigem = new ModelosBaseDeDominio.Vinculo("EntregaDeOrigem", banco.IdEntregaDeSaldoFuncionario, "IdEntregaSaldoFuncionario");
                entregaDeOrigem.AdicionarInformacoesAoItem("QuantidadeEmMinutos", new string[] { dominio.QtdMinutos.ToString() });
                dominio.AdicionarVinculo(entregaDeOrigem);


                string year  = dominio.DataDaEntrega.Year.ToString();
                string month = dominio.DataDaEntrega.Month.ToString();

                if (month.Length == 1)
                {
                    month = "0" + month;
                }

                dominio.CompetenciaDaEntrega = new CompetenciaMensal(year + month);

                dominio.FoiEmitida = banco.Emitida;
                dominio.FoiFechada = banco.Fechada;
            }

            return(dominio);
        }
示例#2
0
        public static RemuneracaoDeBancoDeSaldoBD ConverteDoDominio(RemuneracaoDeBancoDeSaldo dominio)
        {
            RemuneracaoDeBancoDeSaldoBD banco = new RemuneracaoDeBancoDeSaldoBD();

            if (dominio != null)
            {
                banco.DataRegistro = dominio.DataRegistro == DateTime.MinValue ? new DateTime(1900, 1, 1) : dominio.DataRegistro;
                banco.Id           = dominio.Id;
                banco.IdEntregaDeSaldoFuncionario = dominio.IdEntrega;
                banco.IdEntregaDeSaldoCliente     = dominio.IdEntregaCliente;
                banco.IdCliente          = dominio.IdCliente;
                banco.IdContrato         = dominio.IdContrato;
                banco.IdFuncionario      = dominio.IdFavorecido;
                banco.IdRegraRemuneracao = dominio.IdRegraRemuneracao;
                if (dominio.ValorARemunerar != null)
                {
                    banco.ValorARemunerar      = dominio.ValorARemunerar.Valor;
                    banco.ValorARemunerarMoeda = dominio.ValorARemunerar.Moeda.Id;
                }
            }
            return(banco);
        }