Beispiel #1
0
        public static void PopularAcompanhamentoModificacaoGerais(this ControleSolicitacaoController controller, FichaCadastralWebForLinkVM modelo, SOLICITACAO solicitacao)
        {
            Fornecedor fornecedor = solicitacao.Fornecedor;
            SOLICITACAO_MODIFICACAO_DADOSGERAIS solicitacaoModDadosGerais = solicitacao.WFD_SOL_MOD_DGERAIS_SEQ.First();

            // Popula a view model FichaCadastralVM
            modelo.ContratanteID        = solicitacao.CONTRATANTE_ID;
            modelo.Solicitacao.Fluxo.ID = solicitacao.FLUXO_ID;
            Mapeamento.PopularDadosReceita(modelo, fornecedor);
            modelo.OutrosDadosVisao            = solicitacaoModDadosGerais.VISAO_ID;
            modelo.OutrosDadosGrupo            = solicitacaoModDadosGerais.GRUPO_ID;
            modelo.OutrosDadosDescricao        = solicitacaoModDadosGerais.DESCRICAO_ID;
            modelo.OutrosDadosDescricaoMudança = solicitacaoModDadosGerais.DESCRICAOALTERACAO;

            controller.FornecedorRobo(modelo, RetornaFornecedor(solicitacao));
        }
        public static void ModificacoesGerais(this AprovacaoController controller, FichaCadastralWebForLinkVM ficha, SOLICITACAO solicitacao)
        {
            controller.Db.Entry(solicitacao).Reference(x => x.Fornecedor).Load();
            Fornecedor fornecedor = solicitacao.Fornecedor;

            controller.Db.Entry(solicitacao).Collection(x => x.WFD_SOL_MOD_DGERAIS_SEQ).Load();
            SOLICITACAO_MODIFICACAO_DADOSGERAIS gerais = solicitacao.WFD_SOL_MOD_DGERAIS_SEQ.First();

            // Popula a view model FichaCadastralVM
            ficha.ContratanteID        = solicitacao.CONTRATANTE_ID;
            ficha.Solicitacao.Fluxo.ID = solicitacao.FLUXO_ID;

            Mapeamento.PopularDadosReceita(ficha, fornecedor);
            ficha.RazaoSocial = fornecedor.TIPO_PJPF_ID == 3 ? fornecedor.NOME : fornecedor.RAZAO_SOCIAL;

            ficha.OutrosDadosVisao            = gerais.VISAO_ID;
            ficha.OutrosDadosGrupo            = gerais.GRUPO_ID;
            ficha.OutrosDadosDescricao        = gerais.DESCRICAO_ID;
            ficha.OutrosDadosDescricaoMudança = gerais.DESCRICAOALTERACAO;

            controller.ViewBag.OutrosDadosVisao     = new SelectList(controller.Db.WFL_TP_VISAO.ToList(), "ID", "VISAO_NM", gerais.VISAO_ID);
            controller.ViewBag.OutrosDadosGrupo     = new SelectList(controller.Db.WFD_T_GRUPO.Where(g => g.VISAO_ID == gerais.VISAO_ID).ToList(), "ID", "GRUPO_NM", gerais.GRUPO_ID);
            controller.ViewBag.OutrosDadosDescricao = new SelectList(controller.Db.WFD_T_DESCRICAO.Where(d => d.GRUPO_ID == gerais.GRUPO_ID).ToList(), "ID", "DESCRICAO_NM", gerais.DESCRICAO_ID);
        }
        public ActionResult FornecedoresModificacaoDadosGeraisFrm(FichaCadastralWebForLinkVM model)
        {
            int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");

            ViewBag.OutrosDadosVisao     = new SelectList(Db.WFL_TP_VISAO.ToList(), "ID", "VISAO_NM", model.OutrosDadosVisao);
            ViewBag.OutrosDadosGrupo     = new SelectList(Db.WFD_T_GRUPO.Where(g => g.VISAO_ID == model.OutrosDadosVisao).ToList(), "ID", "GRUPO_NM", model.OutrosDadosGrupo);
            ViewBag.OutrosDadosDescricao = new SelectList(Db.WFD_T_DESCRICAO.Where(d => d.GRUPO_ID == model.OutrosDadosGrupo).ToList(), "ID", "DESCRICAO_NM", model.OutrosDadosDescricao);

            // VERIFICA DADOS

            if (model.OutrosDadosVisao == 0)
            {
                ModelState.AddModelError("OutrosDadosVisaoValidation", "Selecione a Visão!");
            }
            if (model.OutrosDadosGrupo == 0)
            {
                ModelState.AddModelError("OutrosDadosGrupoValidation", "Selecione o Grupo!");
            }
            if (model.OutrosDadosDescricao == 0)
            {
                ModelState.AddModelError("OutrosDadosDescricaoValidation", "Selecione a Descrição!");
            }
            if (string.IsNullOrEmpty(model.OutrosDadosDescricaoMudança) || String.IsNullOrWhiteSpace(model.OutrosDadosDescricaoMudança))
            {
                ModelState.AddModelError("OutrosDadosDescricaoMudancaValidation", "Informe a Descrição da Alteração!");
            }

            if (ModelState.IsValid)
            {
                SOLICITACAO_MODIFICACAO_DADOSGERAIS solgerais = new SOLICITACAO_MODIFICACAO_DADOSGERAIS();

                SOLICITACAO solicitacao = new SOLICITACAO();
                try
                {
                    int FluxoId = 4;

                    PopularSolicitacaoEmAprovacao(model.ContratanteID, model.ID,
                                                  usuarioId, FluxoId, solicitacao);

                    Db.Entry(solicitacao).State = EntityState.Added;
                    Db.SaveChanges();

                    Db.WFD_SOL_MOD_DGERAIS_SEQ.Add(new SOLICITACAO_MODIFICACAO_DADOSGERAIS
                    {
                        SOLICITACAO_ID     = solicitacao.ID,
                        VISAO_ID           = model.OutrosDadosVisao,
                        GRUPO_ID           = model.OutrosDadosGrupo,
                        DESCRICAO_ID       = model.OutrosDadosDescricao,
                        DESCRICAOALTERACAO = model.OutrosDadosDescricaoMudança
                    });

                    Db.SaveChanges();

                    _tramiteService.AtualizarTramite(model.ContratanteID, solicitacao.ID, FluxoId, 1, 2, usuarioId);
                }
                catch
                {
                    if (solicitacao.ID != 0)
                    {
                        if (solgerais.ID != 0)
                        {
                            Db.WFD_SOL_MOD_DGERAIS_SEQ.Remove(solgerais);
                        }
                        Db.WFD_SOLICITACAO.Remove(solicitacao);
                        Db.SaveChanges();
                    }
                }

                return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = string.Format("Solicitação {0} de Alteração de Dados Gerais realizado com Sucesso!", solicitacao.ID) }));
            }

            return(View(model));
        }