private void adicionaRamalCategoria(string guidcatalogo, List <RamalEstoque> ramaisCatalogos) { /* * string qry = "SELECT Categoria.GUID, Categoria.NOME" + " FROM Categorias_Catalogo INNER JOIN" + " Categoria ON Categorias_Catalogo.GUID_CATEGORIA = Categoria.GUID" + " WHERE(Categorias_Catalogo.GUID_CATALOGO = '" + guidCatalogo + "')"; + */ var categoriaRepositorio = new BaseMDBRepositorio <Categoria>("Catalogo", "Categorias"); var filtroCategorias = Builders <Categoria> .Filter.Eq(x => x.GUID_CATALOGO, guidcatalogo); //var itensPipeCategoria = itemPipeEstoqueRepositorio.Encontrar(filtro); var tipoRepositorio = new BaseMDBRepositorio <TipoItemEng>("Catalogo", "TipoItemEng"); var listaCategoriasCatalogo = categoriaRepositorio.Encontrar(filtroCategorias);//_itemEngenhariaService.ObterCategorias(guidcatalogo);//new ArquivoEstoqueService().ObterPorConfiguracao(guidcatalogo); var cat = ramaisCatalogos.First(x => x.guid == guidcatalogo); if (cat != null) { foreach (var categoria in listaCategoriasCatalogo) { var filtroTipo = Builders <TipoItemEng> .Filter.Eq(x => x.GUID, categoria.GUID_TIPO); var tipo = tipoRepositorio.Encontrar(filtroTipo).First(); var categ = new RamalEstoque(tipo.NOME, categoria.GUID, guidcatalogo); adicionaRamalFamilia(guidcatalogo, categ); cat.Adiciona(categ); } } }
public void PegaTipos() { var itemPipeEstoqueRepositorio = new BaseMDBRepositorio <ItemPipe>("Catalogo", "ItemPipe"); var filtro = Builders <ItemPipe> .Filter.Eq(x => x.GUID_ITEM_PAI, _catalogo.GUID); var itensPipeCategoria = itemPipeEstoqueRepositorio.Encontrar(filtro); }
public List <ItemTubulacaoEstoque> ObtemItensTubulacaoPorTipoItem(string guidTipoItem)//string guidCatalogo, string guidCategoria, string guidTipoItem) { List <ItemTubulacaoEstoque> tubulacaoEstoques = new List <ItemTubulacaoEstoque>(); //var ids = _propriedadesItemService.ObterPropriedadesID(guidCatalogo, guidCategoria, guidTipoItem); var filter = Builders <ItemTubulacaoEstoque> .Filter.Eq(x => x.GUID_TIPO_ITEM, guidTipoItem); return(_repositorio.Encontrar(filter)); //return _colecao.Find(filter).ToList(); }
private void adicionaRamalFamilia(string guidCatalogo, RamalEstoque categoria) { //var listaPlanilhas = new TemplateEstoqueService().ObterPorArquivo(arquivo.id); //var listaTipos = _itemEngenhariaService.ObterTiposItem(guidCatalogo, categoria.guid); var familiasRepositorio = new BaseMDBRepositorio <Familia>("Catalogo", "Familias"); var builderFamilias = Builders <Familia> .Filter; var filtroFamilia = builderFamilias.Eq(x => x.GUID_CATALOGO, guidCatalogo) & builderFamilias.Eq(x => x.GUID_CATEGORIA, categoria.guid); var listaFamilias = familiasRepositorio.Encontrar(filtroFamilia); foreach (var familia in listaFamilias) { var ramalFamilia = new RamalEstoque(familia.PartFamilyLongDesc, familia.GUID, categoria.guid); adicionaDiametros(categoria.guid, ramalFamilia); categoria.Adiciona(ramalFamilia); } }
private void adicionaDiametros(string guidCategoria, RamalEstoque ramalFamilia) { var relacaoFamiliaItemRepositorio = new BaseMDBRepositorio <RelacaoFamiliaItem>("Catalogo", "RelacaoFamiliaItem"); var builderRelacaoFamiliaItem = Builders <RelacaoFamiliaItem> .Filter; var filtroRelacaoFamiliaItem = builderRelacaoFamiliaItem.Eq(x => x.GUID_CATEGORIA, guidCategoria) & builderRelacaoFamiliaItem.Eq(x => x.GUID_FAMILIA, ramalFamilia.guid); var relacoesFamilia = relacaoFamiliaItemRepositorio.Encontrar(filtroRelacaoFamiliaItem); foreach (var relacaoFamilia in relacoesFamilia) { var relacaoPropriedadeItemRepositorio = new BaseMDBRepositorio <RelacaoPropriedadeItem>("Catalogo", "RelacaoPropriedadeItem"); var filtroRelacaoPropriedadeItem = Builders <RelacaoPropriedadeItem> .Filter .Eq(x => x.GUID_ITEM_ENG, relacaoFamilia.GUID_ITEM); var relacoesPropriedadesItem = relacaoPropriedadeItemRepositorio.Encontrar(filtroRelacaoPropriedadeItem); //Todos os diametros nominais disponiveis var nomeTipoPropriedade_GUID = "5ef2516d-8c5f-4b55-a049-442f0e5cc4f4"; var propriedadeItemRepositorio = new BaseMDBRepositorio <PropriedadeItem>("Catalogo", "PropriedadeItem"); var filtroPropriedadeItem = Builders <PropriedadeItem> .Filter.Eq(x => x.GUID_TIPO, nomeTipoPropriedade_GUID); var diametrosNominaisDisponiveis = propriedadeItemRepositorio.Encontrar(filtroPropriedadeItem); foreach (var relacaoPropriedadeItem in relacoesPropriedadesItem) { var GUID_PROPRIEDADE = relacaoPropriedadeItem.GUID_PROPRIEDADE; var diametro = diametrosNominaisDisponiveis.FirstOrDefault(x => x.GUID == GUID_PROPRIEDADE); //teste var filtroPropriedadeItemTESTE = Builders <PropriedadeItem> .Filter.Eq(x => x.GUID_TIPO, nomeTipoPropriedade_GUID); var propriedadeTESTE = propriedadeItemRepositorio.Encontrar(filtroPropriedadeItemTESTE); foreach (var p in propriedadeTESTE) { //if (propriedadeTESTE.Count() > 0) //{ //var nomeTipoPropriedadeRepositorio = new BaseMDBRepositorio<NomeTipoPropriedade>("Catalogo", "NomeTipoPropriedade"); //var filtroNomeTipoPropriedade = Builders<NomeTipoPropriedade>.Filter.Eq(x => x.GUID, nomeTipoPropriedade_GUID); //var propTeste = nomeTipoPropriedadeRepositorio.Encontrar(filtroNomeTipoPropriedade).First(); //if (propTeste.NOME == "NominalDiameter") //{ //teste //if (diametro != null) //{ var valorTabeladoRepositorio = new BaseMDBRepositorio <ValorTabelado>("Catalogo", "ValorTabelado"); var filtroValorTabelado = Builders <ValorTabelado> .Filter .Eq(x => x.GUID, p.GUID_VALOR); var valor = valorTabeladoRepositorio.Encontrar(filtroValorTabelado).First(); var ramalValor = new RamalEstoque(valor.VALOR, p.GUID, relacaoFamilia.GUID_ITEM); //} // } //} } } } }
public List <Familia> ExtraiItensCategoria(string guidCatalogo, string guidCategoria) { /* * string qry = "SELECT PropriedadeItemEng.GUID AS GUID_ITEM_PROPRIEDADE, TipoPropriedade.NOME AS PROPRIEDADE, Valores.VALOR AS VALOR_PROPRIEDADE," + "ItemEngenharia.PnPID AS PnPID, ItemEngenharia.GUID AS GUID_ITEM" + " FROM ItemEngenharia INNER JOIN" + " PropriedadeItemEng ON ItemEngenharia.GUID = PropriedadeItemEng.GUID_ITEM_ENG INNER JOIN" + " PropriedadeEng ON PropriedadeItemEng.GUID_PROPRIEDADE = PropriedadeEng.GUID INNER JOIN" + " TipoPropriedade ON PropriedadeEng.GUID_TIPO = TipoPropriedade.GUID INNER JOIN" + " Valores ON PropriedadeEng.GUID_VALOR = Valores.GUID" + " WHERE ItemEngenharia.GUID = (SELECT ItemEngenharia.GUID" + " FROM PropriedadeEng INNER JOIN" + " PropriedadeItemEng ON PropriedadeEng.GUID = PropriedadeItemEng.GUID_PROPRIEDADE INNER JOIN" + " ItemEngenharia ON PropriedadeItemEng.GUID_ITEM_ENG = ItemEngenharia.GUID INNER JOIN" + " TipoPropriedade ON PropriedadeEng.GUID_TIPO = TipoPropriedade.GUID INNER JOIN" + " Valores ON PropriedadeEng.GUID_VALOR = Valores.GUID INNER JOIN" + " TipoItem ON ItemEngenharia.GUID_TIPO_ITEM = TipoItem.GUID" + " WHERE(TipoPropriedade.NOME = N'PartCategory')" + " AND(Valores.GUID = '" + guidCategoria + "')" + " AND(TipoItem.GUID = '" + guidTipoItem + "')" + " AND(ItemEngenharia.GUID = '" + prop.GUID + "'))"; + */ //6ade7953-5936-46a5-8934-330bfd2bba64 var lista = new List <Familia>(); var itemPipeRepositorio = new BaseMDBRepositorio <ItemPipe>("Catalogo", "ItemPipe"); //var item = itemPipeRepositorio.Obter().First(); var builder = Builders <ItemPipe> .Filter; var filterItemPipeEstoque = builder.Eq(x => x.GUID_CATALOGO, guidCatalogo) & builder.Eq(x => x.GUID_TIPO_ITEM, guidCategoria); var itens = itemPipeRepositorio.Encontrar(filterItemPipeEstoque); var relacaoPropriedadeItemRepositorio = new BaseMDBRepositorio <RelacaoPropriedadeItem>("Catalogo", "RelacaoPropriedadeItem"); var propriedadeItemRepositorio = new BaseMDBRepositorio <PropriedadeItem>("Catalogo", "PropriedadeItem"); foreach (var item in itens) { var filtroRelacaoPropriedadeItem = Builders <RelacaoPropriedadeItem> .Filter.Eq(x => x.GUID_ITEM_ENG, item.GUID); var relacoes = relacaoPropriedadeItemRepositorio.Encontrar(filtroRelacaoPropriedadeItem); var familia = new Familia(guidCatalogo, guidCategoria); foreach (var relacao in relacoes) { var filtroPropriedadeItem = Builders <PropriedadeItem> .Filter.Eq(x => x.GUID, relacao.GUID_PROPRIEDADE); var propriedadeItem = propriedadeItemRepositorio.Encontrar(filtroPropriedadeItem).First(); var nomeTipoPropriedadeRepositorio = new BaseMDBRepositorio <NomeTipoPropriedade>("Catalogo", "NomeTipoPropriedade"); var builderNomeTipoPropriedade = Builders <NomeTipoPropriedade> .Filter; var filtroNomeTipoPropriedade = builderNomeTipoPropriedade.Eq(x => x.GUID, propriedadeItem.GUID_TIPO) & builderNomeTipoPropriedade.Eq(x => x.NOME, "PartFamilyLongDesc"); var propriedades = nomeTipoPropriedadeRepositorio.Encontrar(filtroNomeTipoPropriedade); if (propriedades.Count() > 0) { var strPropriedade = propriedades.First().NOME; if (strPropriedade == "PartFamilyLongDesc") { var valorTabeladoRepositorio = new BaseMDBRepositorio <ValorTabelado>("Catalogo", "ValorTabelado"); var filtroValorTabelado = Builders <ValorTabelado> .Filter.Eq(x => x.GUID, propriedadeItem.GUID_VALOR); var valor = valorTabeladoRepositorio.Encontrar(filtroValorTabelado).First(); string strValor = valor.VALOR.Replace('"', '¨'); familia.GetType().GetProperty(strPropriedade).SetValue(familia, strValor); break; } } } //lista.Add(familia); } //var filtro = Builders<ItemPipe>.Filter.Eq(x => x.PnPID, 0); //var itensPipeCategoria = itemPipeRepositorio.Encontrar(filtro); return(lista); //_itemEngenhariaService.ObterCatalogos(); }
public void CriaFamilias(string guidCatalogo) { var familiasRepositorio = new BaseMDBRepositorio <Familia>("Catalogo", "Familias"); var relacaoFamiliaItemRepositorio = new BaseMDBRepositorio <RelacaoFamiliaItem>("Catalogo", "RelacaoFamiliaItem"); var itemPipeRepositorio = new BaseMDBRepositorio <ItemPipe>("Catalogo", "ItemPipe"); var categoriasRepositorio = new BaseMDBRepositorio <Categoria>("Catalogo", "Categorias"); var filtroCategorias = Builders <Categoria> .Filter.Eq(x => x.GUID_CATALOGO, guidCatalogo); var categorias = categoriasRepositorio.Encontrar(filtroCategorias); foreach (var categoria in categorias) { var builderItemPipe = Builders <ItemPipe> .Filter; var filterItemPipeEstoque = builderItemPipe.Eq(x => x.GUID_CATALOGO, guidCatalogo) & builderItemPipe.Eq(x => x.GUID_TIPO_ITEM, categoria.GUID_TIPO); var itens = itemPipeRepositorio.Encontrar(filterItemPipeEstoque); var relacaoPropriedadeItemRepositorio = new BaseMDBRepositorio <RelacaoPropriedadeItem>("Catalogo", "RelacaoPropriedadeItem"); var propriedadeItemRepositorio = new BaseMDBRepositorio <PropriedadeItem>("Catalogo", "PropriedadeItem"); foreach (var item in itens) { var filtroRelacaoPropriedadeItem = Builders <RelacaoPropriedadeItem> .Filter.Eq(x => x.GUID_ITEM_ENG, item.GUID); var relacoes = relacaoPropriedadeItemRepositorio.Encontrar(filtroRelacaoPropriedadeItem); var builderFamilias = Builders <Familia> .Filter; var filterFamilias = builderFamilias.Eq(x => x.GUID_CATALOGO, guidCatalogo) & builderFamilias.Eq(x => x.GUID_CATEGORIA, categoria.GUID); var familias = familiasRepositorio.Encontrar(filterFamilias); Familia familia = null; if (familias.Count() == 0) { familia = new Familia(guidCatalogo, categoria.GUID); foreach (var relacao in relacoes) { var filtroPropriedadeItem = Builders <PropriedadeItem> .Filter.Eq(x => x.GUID, relacao.GUID_PROPRIEDADE); var propriedadeItem = propriedadeItemRepositorio.Encontrar(filtroPropriedadeItem).First(); var nomeTipoPropriedadeRepositorio = new BaseMDBRepositorio <NomeTipoPropriedade>("Catalogo", "NomeTipoPropriedade"); var builderNomeTipoPropriedade = Builders <NomeTipoPropriedade> .Filter; var filtroNomeTipoPropriedade = builderNomeTipoPropriedade.Eq(x => x.GUID, propriedadeItem.GUID_TIPO) & builderNomeTipoPropriedade.Eq(x => x.NOME, "PartFamilyLongDesc"); var propriedades = nomeTipoPropriedadeRepositorio.Encontrar(filtroNomeTipoPropriedade); if (propriedades.Count() > 0) { var strPropriedade = propriedades.First().NOME; if (strPropriedade == "PartFamilyLongDesc") { var valorTabeladoRepositorio = new BaseMDBRepositorio <ValorTabelado>("Catalogo", "ValorTabelado"); var filtroValorTabelado = Builders <ValorTabelado> .Filter.Eq(x => x.GUID, propriedadeItem.GUID_VALOR); var valor = valorTabeladoRepositorio.Encontrar(filtroValorTabelado).First(); string strValor = valor.VALOR.Replace('"', '¨'); familia.GetType().GetProperty(strPropriedade).SetValue(familia, strValor); break; } } } familiasRepositorio.Inserir(familia); } else { familia = familias.First(); } RelacaoFamiliaItem relacaoFamiliaItem = new RelacaoFamiliaItem() { GUID_FAMILIA = familia.GUID, GUID_ITEM = item.GUID, GUID_CATEGORIA = categoria.GUID }; relacaoFamiliaItemRepositorio.Inserir(relacaoFamiliaItem); } } }
private void DefineCatalogo(string nomeCatalogo) { //Catalogo catalogo = null; var catalogosMDBRepositorio = new BaseMDBRepositorio <Catalogo>("Catalogo", "Catalogo"); //using (var repositorioCatalogo = new Repositorio<CatalogoPlant3d>(_conexao)) //{ var catalogos = catalogosMDBRepositorio .Encontrar(Builders <Catalogo> .Filter.Eq(x => x.NOME, nomeCatalogo)); //repositorioCatalogo.Find(x => x.NOME == nomeCatalogo); if (catalogos.Count == 0) { string guidIdioma = string.Empty; var idiomaMDBRepositorio = new BaseMDBRepositorio <Idioma>("Catalogo", "Idioma"); var builder = Builders <Idioma> .Filter; var filter = builder.Eq(x => x.IDIOMA, _idioma) & builder.Eq(x => x.PAIS, _pais); var idiomas = idiomaMDBRepositorio.Encontrar(filter); if (idiomas.Count == 0) { guidIdioma = Guid.NewGuid().ToString(); var idioma = new Idioma() { IDIOMA = _idioma, PAIS = _pais }; idiomaMDBRepositorio.Inserir(idioma); } else { guidIdioma = idiomas.First().GUID; } _catalogo = new Catalogo() { NOME = nomeCatalogo, GUID_IDIOMA = guidIdioma }; catalogosMDBRepositorio.Inserir(_catalogo); } else { _catalogo = catalogos.First(); } //} //return _catalogo; }
public void Injetar() { var itensEngenhariaP3D = capturarItensEngenhariaPlant3d(); //for (int i = 1; i <= itensEngenhariaP3D.Count(); i++) //{ var itemPipeEstoqueRepositorio = new BaseMDBRepositorio <ItemPipe>("Catalogo", "ItemPipe"); int conta = itemPipeEstoqueRepositorio.Obter().Count(); if (conta < itensEngenhariaP3D.Count()) { foreach (var item in itensEngenhariaP3D) { var builder = Builders <ItemPipe> .Filter; var filterItemPipeEstoque = builder.Eq(x => x.PnPID, (int)item.PnPID) & builder.Eq(x => x.GUID_CATALOGO, _catalogo.GUID); var itensPipeEstoque = itemPipeEstoqueRepositorio.Encontrar(filterItemPipeEstoque); if (itensPipeEstoque.Count == 0) { TipoItemEng tipoItem = null; string tipoItemEng = item.ShortDescription.Split(',')[0]; var tipoItemPipeStockRepositorio = new BaseMDBRepositorio <TipoItemEng>("Catalogo", "TipoItemEng"); var filterTiposItem = Builders <TipoItemEng> .Filter.Eq(x => x.NOME, tipoItemEng); var tipos = tipoItemPipeStockRepositorio.Encontrar(filterTiposItem); if (tipos.Count == 0) { tipoItem = new TipoItemEng() { NOME = tipoItemEng }; tipoItemPipeStockRepositorio.Inserir(tipoItem); } else { tipoItem = tipos.First(); } var itemPipe = new ItemPipe() { GUID_TIPO_ITEM = tipoItem.GUID, GUID_CATALOGO = _catalogo.GUID, PnPID = (int)item.PnPID }; itemPipeEstoqueRepositorio.Inserir(itemPipe); Type type = item.GetType(); foreach (var info in type.GetProperties()) { if (info.Name != "GUID" && info.Name != "CODIGO" && info.Name != "PnPID") { NomeTipoPropriedade nomeTipoPropriedade = null; var nomeTipoPropriedadeRepositorio = new BaseMDBRepositorio <NomeTipoPropriedade>("Catalogo", "NomeTipoPropriedade"); var filterNomeTipoPropriedade = Builders <NomeTipoPropriedade> .Filter.Eq(x => x.NOME, info.Name); var nomesTiposPropriedade = nomeTipoPropriedadeRepositorio.Encontrar(filterNomeTipoPropriedade); if (nomesTiposPropriedade.Count == 0) { nomeTipoPropriedade = new NomeTipoPropriedade() { NOME = info.Name }; nomeTipoPropriedadeRepositorio.Inserir(nomeTipoPropriedade); } else { nomeTipoPropriedade = nomesTiposPropriedade.First(); } var relacaoEntrePropriedadesRepositorio = new BaseMDBRepositorio <RelacaoEntrePropriedades>("Catalogo", "RelacaoEntrePropriedades"); var builderRelacaoEntrePropriedades = Builders <RelacaoEntrePropriedades> .Filter; var filtroRelacaoEntrePropriedades = builderRelacaoEntrePropriedades .Eq(x => x.GUID_PNPTABLE, tipoItem.GUID) & builderRelacaoEntrePropriedades .Eq(x => x.GUID_PROPIEDADE, nomeTipoPropriedade.GUID); var relacoes = relacaoEntrePropriedadesRepositorio.Encontrar(filtroRelacaoEntrePropriedades); if (relacoes.Count == 0) { var relacao = new RelacaoEntrePropriedades() { GUID_PNPTABLE = tipoItem.GUID, GUID_PROPIEDADE = nomeTipoPropriedade.GUID }; relacaoEntrePropriedadesRepositorio.Inserir(relacao); } PropertyInfo campo = type.GetProperty(info.Name); var valor = info.GetValue(item, null); if (valor != null) { var valorTabeladoRepositorio = new BaseMDBRepositorio <ValorTabelado>("Catalogo", "ValorTabelado"); var filterValorTabelado = Builders <ValorTabelado> .Filter.Eq(x => x.VALOR, valor.ToString()); var valoresTabelados = valorTabeladoRepositorio.Encontrar(filterValorTabelado); ValorTabelado valorTabelado = null; if (valoresTabelados.Count == 0) { valorTabelado = new ValorTabelado() { VALOR = valor.ToString(), Sigla_BRASS = "" }; valorTabeladoRepositorio.Inserir(valorTabelado); } else { valorTabelado = valoresTabelados.First(); } if (nomeTipoPropriedade.NOME == "PartCategory") { ItemPipe itemCategoria = null; var builderItem = Builders <ItemPipe> .Filter; var filterItem = builderItem.Eq(x => x.GUID, valorTabelado.GUID) & builderItem.Eq(x => x.GUID_CATALOGO, _catalogo.GUID); var itens = itemPipeEstoqueRepositorio.Encontrar(filterItem); if (itens.Count == 0) { itemCategoria = new ItemPipe() { GUID_TIPO_ITEM = nomeTipoPropriedade.GUID, GUID_CATALOGO = _catalogo.GUID, PnPID = 0, GUID_ITEM_PAI = _catalogo.GUID }; itemPipeEstoqueRepositorio.Inserir(itemCategoria); } else { itemCategoria = itens.First(); } itemPipe.GUID_ITEM_PAI = itemCategoria.GUID; itemPipeEstoqueRepositorio.Atualizar(itemPipe); } PropriedadeItem propriedadeEng = null; var propriedadeRepositorio = new BaseMDBRepositorio <PropriedadeItem>("Catalogo", "PropriedadeItem"); var builderPropriedade = Builders <PropriedadeItem> .Filter; var filterPropriedade = builderPropriedade.Eq(x => x.GUID_TIPO, nomeTipoPropriedade.GUID) & builderPropriedade.Eq(x => x.GUID_VALOR, valorTabelado.GUID); var propriedades = propriedadeRepositorio.Encontrar(filterPropriedade); if (propriedades.Count == 0) { propriedadeEng = new PropriedadeItem() { GUID_TIPO = nomeTipoPropriedade.GUID, GUID_VALOR = valorTabelado.GUID }; propriedadeRepositorio.Inserir(propriedadeEng); } else { propriedadeEng = propriedades.First(); } var relacaoPropriedadeItemRepositorio = new BaseMDBRepositorio <RelacaoPropriedadeItem>("Catalogo", "RelacaoPropriedadeItem"); var relacaoPropriedadeItem = new RelacaoPropriedadeItem() { GUID_ITEM_ENG = itemPipe.GUID, GUID_PROPRIEDADE = propriedadeEng.GUID }; relacaoPropriedadeItemRepositorio.Inserir(relacaoPropriedadeItem); } } } } } } //} }