public ContaCorrenteCliente ToEntity() { var obj = new ContaCorrenteCliente(); obj.Id = ContaCorrenteClienteId; obj.DataInsercao = DataInsercao; obj.Cliente = Cliente?.ToEntity(); obj.ContaCorrenteClienteDetalhes = ContaCorrenteClienteDetalhes?.Select(x => x.ToEntity())?.ToList() ?? new List <ContaCorrenteClienteDetalhe>(); return(obj); }
public ContaCorrenteClienteViewModel(ContaCorrenteCliente obj) { if (obj != null) { ContaCorrenteClienteId = obj.Id; DataInsercao = obj.DataInsercao; Cliente = new ClienteViewModel(obj?.Cliente ?? new Cliente()); ContaCorrenteClienteDetalhes = obj?.ContaCorrenteClienteDetalhes?.Select(x => new ContaCorrenteClienteDetalheViewModel(x))?.ToList() ?? new List <ContaCorrenteClienteDetalheViewModel>(); } }
public IEnumerable <ContaCorrenteCliente> Put([FromBody] ContaCorrenteCliente contaCorrenteCliente) { _repo.Alterar(contaCorrenteCliente); return(_repo.SelecionarTudo()); }
private void AtualizarContaCorrente(List <FeriasCliente> ferias, ContaCorrenteCliente contaCorrente) { var idCliente = ferias?.FirstOrDefault()?.Cliente?.Id ?? 0; var listaPeriodosCompetencia = ferias?.SelectMany(x => x.ListaDataCompetenciaPeriodo)?.Distinct()?.ToList(); foreach (var competencia in listaPeriodosCompetencia) { var valorFeriasCalculadasAnterior = ferias.SelectMany(x => x.ListaFeriasClienteDetalhe) .Where(x => x.DataCompetencia == competencia) .Sum(x => x.ValorFeriasCalculadaAnterior); var valorFeriasCalculadasAtual = ferias.SelectMany(x => x.ListaFeriasClienteDetalhe) .Where(x => x.DataCompetencia == competencia) .Sum(x => x.ValorFeriasCalculada); var itemCCDetalhe = contaCorrente?.ContaCorrenteClienteDetalhes? .FirstOrDefault(x => x.TipoOperacaoContaCorrente == Entidade.Uteis.TipoOperacaoContaCorrente.Decrescimo && x.DataCompetencia == competencia); if (itemCCDetalhe != null && itemCCDetalhe.DataInsercao > System.Data.SqlTypes.SqlDateTime.MinValue.Value) { itemCCDetalhe.Valor = ferias.SelectMany(x => x.ListaFeriasClienteDetalhe) .Where(x => x.DataCompetencia == competencia) .Sum(x => x.ValorFeriasCalculadaAnterior) > 0 ? itemCCDetalhe.Valor - valorFeriasCalculadasAnterior + valorFeriasCalculadasAtual : itemCCDetalhe.Valor + valorFeriasCalculadasAtual; _contaCorrenteClienteServico.Salvar(contaCorrente); } else if (contaCorrente != null && contaCorrente.Id > 0) { contaCorrente.ContaCorrenteClienteDetalhes.Add(new ContaCorrenteClienteDetalhe { DataInsercao = DateTime.Now, DataCompetencia = competencia, TipoOperacaoContaCorrente = Entidade.Uteis.TipoOperacaoContaCorrente.Decrescimo, Valor = valorFeriasCalculadasAtual }); _contaCorrenteClienteServico.Salvar(contaCorrente); } else { var cliente = _clienteServico.BuscarPorId(idCliente); var contaCorrenteNova = new ContaCorrenteCliente { Cliente = cliente, DataInsercao = DateTime.Now, ContaCorrenteClienteDetalhes = new List <ContaCorrenteClienteDetalhe> { new ContaCorrenteClienteDetalhe { DataInsercao = DateTime.Now, DataCompetencia = competencia, TipoOperacaoContaCorrente = Entidade.Uteis.TipoOperacaoContaCorrente.Decrescimo, Valor = valorFeriasCalculadasAtual } } }; _contaCorrenteClienteServico.Salvar(contaCorrenteNova); cliente.ContaCorrenteCliente = contaCorrente; _clienteServico.Salvar(cliente); contaCorrente = _clienteServico.BuscarPorId(idCliente)?.ContaCorrenteCliente; } } }