public ActionResult AtendimentoReceptivo(AtendimentoCadastroViewModel model)
        {
            model.UsuarioId = UsuarioId;
            var viewModel = _atendimentoAppServico.NovaLigacaoReceptiva(model);

            return(View("Index", viewModel));
        }
        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 AtendimentoCadastroViewModel Adicionar(AtendimentoCadastroViewModel atendimentoCadastroViewModel)
        {
            var atendimento = Mapper.Map <AtendimentoCadastroViewModel, Atendimento>(atendimentoCadastroViewModel);
            var telefone    = Mapper.Map <AtendimentoCadastroViewModel, Telefone>(atendimentoCadastroViewModel);

            atendimento.Telefones.Add(telefone);

            ValidationResult.Add(_atendimentoServico.Adicionar(atendimento, _uow.BeginTransaction()));
            if (ValidationResult.IsValid)
            {
                _uow.Commit();
            }
            atendimentoCadastroViewModel = Mapper.Map <Atendimento, AtendimentoCadastroViewModel>(atendimento);
            return(atendimentoCadastroViewModel);
        }
示例#4
0
        public ActionResult Cadastro(AtendimentoCadastroViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Atendimento atendimento = Mapper.Map <Atendimento>(model);

                    business.CadastrarAtendimento(atendimento);

                    TempData["Mensagem"] = $"Atendimento {atendimento.AtenData}, cadastrado com sucesso.";
                    ModelState.Clear();
                }
                catch (Exception e)
                {
                    TempData["Mensagem"] = e.Message;
                }
            }

            return(View(new AtendimentoCadastroViewModel()));
        }