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); }
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); }