public PessoaFisicaFormViewModel Salvar(PessoaFisicaFormViewModel model, string usuarioId) { var pessoaFisica = PessoaFisicaAdaptador.ParaDominioModelo(model); var resultado = _pessoaFisicaServico.Adicionar(pessoaFisica); if (!resultado.ValidationResult.IsValid) { model.ValidationResult = resultado.ValidationResult; return(model); } if (model.IdentificadorIntegracao.HasValue) { _integracaoControleServico.AtualizarIntegracaoControle(new IntegracaoControle() { IdentificadorIntegracao = model.IdentificadorIntegracao.Value, PessoaFisicaId = resultado.Id, CriadoPor = model.CriadoPor }); } if (model.TelefoneLista != null) { if (model.TelefoneLista.Any()) { var telefones = _servicoTelefone.ObterTelefoneCliente(resultado.Id, null, null); foreach (var item in model.TelefoneLista) { var tel = telefones.FirstOrDefault(c => c.Ddd == item.DDD && c.Numero == item.numero); if (tel == null) { var telefone = new Telefone(item.DDD, item.numero, model.CriadoPor, resultado.Id, null, item.TelefonesTiposID, null); _servicoTelefone.Adicionar(telefone); if (model.IdentificadorIntegracao.HasValue) { _integracaoControleServico.AtualizarIntegracaoControle(new IntegracaoControle() { IdentificadorIntegracao = model.IdentificadorIntegracao.Value, TelefoneId = telefone.Id, CriadoPor = model.CriadoPor }); } } } } } if (model.ViewDinamica == null) { return(PessoaFisicaAdaptador.ParaAplicacaoViewModel(resultado)); } model.ViewDinamica.ChaveEntidadeId = resultado.Id; _viewDinamicaAppServico.Atualizar(model.ViewDinamica, usuarioId); return(PessoaFisicaAdaptador.ParaAplicacaoViewModel(resultado)); }
public AtendimentoCadastroViewModel NovaLigacaoReceptiva(AtendimentoCadastroViewModel model) { try { if (model.NumeroTelefone <= 0) { model.ValidationResult.Add(new ValidationError("Nenhum Telefone Informado")); return(model); } var atendimento = _atendimentoServico.GerarEntidade(model.UsuarioId, (int)CanalEnum.Telefonico, null, model.CampanhaId); ValidationResult.Add(_atendimentoServico.Adicionar(atendimento, _uow.BeginTransaction())); if (ValidationResult.IsValid) { _uow.Commit(); } else { model.ValidationResult = ValidationResult; return(model); } var telefone = new Telefone(atendimento.Id, model.ClienteId, (int)StatusTelefoneEnum.Ativo, (int)TipoTelefoneEnum.Indefinido, null, null, model.NumeroTelefone, model.UsuarioId); ValidationResult.Add(_telefoneServico.Adicionar(telefone, _uow.BeginTransaction())); if (ValidationResult.IsValid) { _uow.Commit(); } else { model.ValidationResult = ValidationResult; return(model); } var ligacao = _ligacaoServico.AdicionarReceptivo(model.UsuarioId, telefone.Id, atendimento.Id, model.CampanhaId); if (ligacao.ValidationResult.IsValid) { return(new AtendimentoCadastroViewModel(atendimento.Id, atendimento.Protocolo, ligacao.Id, null)); } model.ValidationResult = ligacao.ValidationResult; return(model); } catch (Exception ex) { _uow.Rollback(); return(model); } }
public PessoaJuridicaFormViewModel Salvar(PessoaJuridicaFormViewModel model, string usuarioId) { var pessoaJuridica = PessoaJuridicaAdaptador.ParaDominioModelo(model); var resultado = _pessoaJuridicaServico.Adicionar(pessoaJuridica); if (!resultado.ValidationResult.IsValid) { model.ValidationResult = resultado.ValidationResult; return(model); } if (model.TelefoneLista != null) { if (model.TelefoneLista.Any()) { var telefones = _telefoneServico.ObterTelefoneCliente(null, resultado.Id, null); foreach (var item in model.TelefoneLista) { var tel = telefones.FirstOrDefault(c => c.Ddd == item.DDD && c.Numero == item.numero); if (tel != null) { continue; } var telefone = new Telefone(item.DDD, item.numero, model.CriadoPor, null, resultado.Id, item.TelefonesTiposID, null); _telefoneServico.Adicionar(telefone); } } } //model = PessoaJuridicaAdaptador.ParaAplicacaoViewModel(resultado); model.Id = pessoaJuridica.Id; if (model.ViewDinamica == null) { return(model); } model.ViewDinamica.ChaveEntidadeId = pessoaJuridica.Id; _viewDinamicaAppServico.Atualizar(model.ViewDinamica, usuarioId); return(model); }
public PotenciaisClienteViewModel Adicionar(PotenciaisClienteViewModel model, string usuarioId) { var entidade = PotenciaisClienteAdaptador.ParaDominioModelo(model); var resultado = _potenciaisClienteServico.AdicionarPotenciaisCliente(entidade); if (!resultado.ValidationResult.IsValid) { model.ValidationResult = resultado.ValidationResult; return(model); } if (model.TelefoneLista != null) { if (model.TelefoneLista.Any()) { var telefones = _servicoTelefone.ObterTelefoneCliente(null, null, resultado.id); foreach (var item in model.TelefoneLista) { var tel = telefones.FirstOrDefault(c => c.Ddd == item.DDD && c.Numero == item.numero); if (tel != null) { continue; } var telefone = new Telefone(item.DDD, item.numero, model.criadoPorAspNetUserID, null, null, item.TelefonesTiposID, resultado.id); _servicoTelefone.Adicionar(telefone); } } } if (model.ViewDinamica != null) { model.ViewDinamica.ChaveEntidadeId = resultado.id; _viewDinamicaAppServico.Atualizar(model.ViewDinamica, usuarioId); } return(model); }