Esempio n. 1
0
        public ActionResult FornecedoresBloqueioFrm(FichaCadastralWebForLinkVM model, string rdLancamento, string rdCompras, string txtAreaMotivoBloqueio, int ContratanteID, int ContratanteFornecedorID, int?ID, int?bloqueioMotivoQualidade)
        {
            if (rdLancamento == null)
            {
                ModelState.AddModelError("FornecedoresBloqueioValidation", "Informe ao menos um bloqueio de lançamento!");
            }

            if (ContratanteID == 0)
            {
                ModelState.AddModelError("FornecedoresBloqueioValidation", "Ocorreu um error ao tentar salvar o bloqueio. Por favor, tente mais tarde.");
            }

            if (ContratanteFornecedorID == 0)
            {
                ModelState.AddModelError("FornecedoresBloqueioValidation", "Ocorreu um error ao tentar salvar o bloqueio. Por favor, tente mais tarde.");
            }

            if (ID == 0 || ID == null)
            {
                ModelState.AddModelError("FornecedoresBloqueioValidation", "Ocorreu um error ao tentar salvar o bloqueio. Por favor, tente mais tarde.");
            }

            if (ModelState.IsValid)
            {
                int         contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");
                int         UsuarioId     = (int)Geral.PegaAuthTicket("UsuarioId");
                SOLICITACAO solicitacao   = new SOLICITACAO();

                try
                {
                    int FluxoId = 8;

                    if (contratanteId != 0)
                    {
                        solicitacao.CONTRATANTE_ID = contratanteId;
                    }
                    solicitacao.USUARIO_ID = UsuarioId;
                    solicitacao.PJPF_ID    = model.ID;

                    SOLICITACAO_BLOQUEIO bloqueio = new SOLICITACAO_BLOQUEIO
                    {
                        SOLICITACAO_ID                = solicitacao.ID,
                        BLQ_LANCAMENTO_TODAS_EMP      = rdLancamento == "1",
                        BLQ_LANCAMENTO_EMP            = rdLancamento == "2",
                        BLQ_COMPRAS_TODAS_ORG_COMPRAS = !string.IsNullOrEmpty(rdCompras),
                        BLQ_QUALIDADE_FUNCAO_BQL_ID   = bloqueioMotivoQualidade,
                        BLQ_MOTIVO_DSC                = txtAreaMotivoBloqueio,
                    };
                    _solicitacaoBP.CriarSolicitacaoBloqueio(solicitacao, bloqueio);
                    _tramite.AtualizarTramite(model.ContratanteID, solicitacao.ID, FluxoId, 1, 2, UsuarioId);
                }
                catch (Exception ex)
                {
                    if (solicitacao.ID != 0)
                    {
                        Db.WFD_SOLICITACAO.Remove(solicitacao);
                        Db.SaveChanges();
                        Log.Error(ex);
                        return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = "Ocorreu um error para realizar o bloqueio solicitado. Por favor, tente mais tarde." }));
                    }
                }
                return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = string.Format("Solicitação {0} de Bloqueio realizado com Sucesso!", solicitacao.ID) }));
            }
            return(View());
        }