public void CarregaItensPorTipoItem(string guidCatalogo, string guidCategoria, string guidTipoItem)
        {
            List <ItemTubulacaoEstoque> tubulacaoEstoques = new List <ItemTubulacaoEstoque>();

            var ids = _propriedadesItemService.ObterPropriedadesID(guidCatalogo, guidCategoria, guidTipoItem);

            foreach (var id in ids)
            {
                ItemTubulacaoEstoque itemTubulacaoEstoque = new ItemTubulacaoEstoque(id.PnPID, id.GUID_CATALOG, id.GUID, guidCategoria, guidTipoItem);

                var props = _propriedadesItemService.ObterPropriedadesItemDTO(id, guidCategoria, guidTipoItem);

                foreach (var prop in props)
                {
                    foreach (var item in props)
                    {
                        string valor = item.VALOR_PROPRIEDADE.Replace('"', '¨');
                        itemTubulacaoEstoque.GetType().GetProperty(item.PROPRIEDADE).SetValue(itemTubulacaoEstoque, valor);
                    }
                }

                InserirItem(itemTubulacaoEstoque);
            }
        }
 public void InserirItem(ItemTubulacaoEstoque itemTubulacaoEstoque)
 {
     _repositorio.Inserir(itemTubulacaoEstoque);
     //_colecao.InsertOne(itemTubulacaoEstoque);
 }
示例#3
0
        private long progressoeTransferencia(int n, BackgroundWorker worker, DoWorkEventArgs e)
        {
            PropriedadesItemService propriedadesItemService = new PropriedadesItemService();

            ItemEngenhariaEstoqueService itemEngenhariaEstoqueService = new ItemEngenhariaEstoqueService(propriedadesItemService);

            ItemEngenhariaService itemEngenhariaService = new ItemEngenhariaService();

            int mult = 70000 / 100;

            var catalogos = itemEngenhariaService.ObterCatalogos();

            if ((n <= 0))
            {
                throw new ArgumentException(
                          "value must be >= 0 and <= 91", "n");
            }

            long result = 0;

            if (worker.CancellationPending)
            {
                e.Cancel = true;
            }
            else
            {
                foreach (var catalogo in catalogos)
                {
                    var categorias = itemEngenhariaService.ObterCategorias(catalogo.GUID);

                    foreach (var categoria in categorias)
                    {
                        var tipos = itemEngenhariaService.ObterTiposItem(catalogo.GUID, categoria.GUID);

                        foreach (var tipo in tipos)
                        {
                            //itemEngenhariaEstoqueService.CarregaItensPorTipoItem(catalogo.GUID, categoria.GUID, tipo.GUID);
                            List <ItemTubulacaoEstoque> tubulacaoEstoques = new List <ItemTubulacaoEstoque>();

                            var ids = propriedadesItemService.ObterPropriedadesID(catalogo.GUID, categoria.GUID, tipo.GUID);

                            //foreach (var id in ids)
                            for (int i = 1; i <= ids.Count() - 1; i++)
                            {
                                ItemTubulacaoEstoque itemTubulacaoEstoque = new ItemTubulacaoEstoque(ids[i].PnPID, ids[i].GUID_CATALOG, ids[i].GUID, categoria.GUID, tipo.GUID);

                                var props = propriedadesItemService.ObterPropriedadesItemDTO(ids[i], categoria.GUID, tipo.GUID);

                                foreach (var prop in props)
                                {
                                    foreach (var item in props)
                                    {
                                        string valor = item.VALOR_PROPRIEDADE.Replace('"', '¨');
                                        itemTubulacaoEstoque.GetType().GetProperty(item.PROPRIEDADE).SetValue(itemTubulacaoEstoque, valor);
                                    }
                                }

                                itemEngenhariaEstoqueService.InserirItem(itemTubulacaoEstoque);


                                var local = i / mult;
                                result = Convert.ToInt64(local);
                                worker.ReportProgress(local);
                            }
                        }
                    }
                }
            }

            return(result);
        }