示例#1
0
        public void Incluir(Workflow entidade)
        {
            entidade.EmpresaPertencente = _empresaService
                                          .SelecionarPorId(entidade.EmpresaPertencente.Guid);

            _service.Incluir(entidade);
        }
示例#2
0
        public void AtualizarPasso(Guid guidSalvado, PassoViewModel passoVM)
        {
            var passoAtual = _passo.SelecionarPorId(passoVM.IdPasso);
            var salvado    = _service.SelecionarPorId(guidSalvado);

            salvado.PassoEtapa = _passo.SelecionarPorId((int)salvado.PassoEtapa.Id);

            if (passoAtual.Ordem <= salvado.PassoEtapa.Ordem)
            {
                return;
            }

            var historico = new SalvadoHistorico();

            historico.DescricaoEvento  = $"[Atualização][De {salvado.PassoEtapa.Descricao} para {passoAtual.Descricao} - {DateTime.Now}] ";
            historico.DescricaoEvento += passoVM.Observacao;
            historico.IdSalvado        = (int)salvado.Id;
            historico.IdUsuario        = passoVM.IdUsuario ?? (int)_usuario.SelecionarPorId((Guid)passoVM.GuidUsuario).Id;
            historico.DataEvento       = DateTime.Now;

            salvado.PassoEtapa = passoAtual;

            //pegar o proximo passo
            var passoFuturo = _passo.SelecionarProximoPasso(++passoAtual.Ordem, (int)passoAtual.Workflow.Id);

            if (passoFuturo != null)
            {
                int idEmpresa = _service.SelecionarIdDependendoTipoEmpresa(passoFuturo.TipoEmpresaResponsavel, salvado.Guid);
                (string header, string body, int status)retorno = EnviaEmailAcordoEmpresa(passoFuturo.TipoEmpresaResponsavel, idEmpresa, (int)passoFuturo.Id, passoFuturo.DescricaoParaFazer, salvado.Guid);
            }
            else
            {
                var html       = EmailSendGrid.LayoutProcessoFinalizado(salvado);
                var seguradora = _seguradora.SelecionarPorId((int)salvado.Seguradora.Id);
                _email.Envia(seguradora.Email, "Nenhuma ação necessária", html);
            }

            _service.IncluirHistorico(historico);
            _service.Atualizar(salvado);
        }