Example #1
0
        public PerfilCatalogoSAPResponse DT_ORDEMPM_LaborSafety_RFC04_ProcessaPerfilCatalogo(PerfilCatalogoSAPModelo modelo)
        {
            PerfilCatalogoSAPResponse result = new PerfilCatalogoSAPResponse();

            result.Itens = new List <PerfilCatalogoItemSAPResponse>();

            try
            {
                //Grava o que chegou na integração, em um arquivo texto
                this.GeraLogRecebimentoIntegracao(modelo, TipoIntegracao.PerfilCatalogo);

                result = perfilCatalogoSAPNegocio.ProcessaPerfilCatalogo(modelo);
            }
            catch (Exception e)
            {
                PerfilCatalogoItemSAPResponse itemResponse = new PerfilCatalogoItemSAPResponse();
                itemResponse.Perfil_Do_Catalogo = "";
                itemResponse.Status             = Constantes.StatusResponseIntegracao.E.ToString();
                itemResponse.Descricao          = e.Message;

                result.Itens.Add(itemResponse);
            }

            return(result);
        }
Example #2
0
        public PerfilCatalogoSAPResponse ProcessaPerfilCatalogo(PerfilCatalogoSAPModelo modelo)
        {
            PerfilCatalogoSAPResponse response = new PerfilCatalogoSAPResponse();

            response.Itens = new List <PerfilCatalogoItemSAPResponse>();

            this.ValidaPerfilCatalogo(modelo);

            using (var entities = new DB_APRPTEntities())
            {
                entities.Database.CommandTimeout = 9999;

                using (var transaction = entities.Database.BeginTransaction())
                {
                    PerfilCatalogoItemSAPResponse itemResponse   = new PerfilCatalogoItemSAPResponse();
                    PerfilCatalogoModelo          perfilCatalogo = new PerfilCatalogoModelo();

                    try
                    {
                        List <PerfilCatalogoModelo> listaPerfilCatalogo = new List <PerfilCatalogoModelo>();
                        foreach (var item in modelo.Itens)
                        {
                            listaPerfilCatalogo.Add(new PerfilCatalogoModelo()
                            {
                                Codigo = item.PerfilCatalogo,
                                Nome   = item.Descricao,
                            });
                        }

                        foreach (var perfil in listaPerfilCatalogo)
                        {
                            perfilCatalogo = perfil;

                            var perfilExistente = perfilCatalogoPersistencia.ListarPerfilCatalogoPorCodigo(perfilCatalogo.Codigo);

                            if (perfilExistente == null)
                            {
                                perfilCatalogoPersistencia.Inserir(perfilCatalogo);
                            }
                            else
                            {
                                perfilCatalogoPersistencia.Editar(perfilCatalogo, entities);
                            }

                            itemResponse.Perfil_Do_Catalogo = perfilCatalogo.Codigo;
                            itemResponse.Descricao          = "";
                            itemResponse.Status             = Constantes.StatusResponseIntegracao.S.ToString();

                            response.Itens.Add(itemResponse);
                        }

                        entities.SaveChanges();
                        transaction.Commit();

                        return(response);
                    }
                    catch (Exception ex)
                    {
                        itemResponse.Perfil_Do_Catalogo = perfilCatalogo.Codigo;
                        itemResponse.Status             = Constantes.StatusResponseIntegracao.E.ToString();
                        itemResponse.Descricao          = ex.Message;

                        throw ex;
                    }
                }
            }
        }