Пример #1
0
        public List <ArtigoDTO> ObterPorValidade(List <ArtigoDTO> lista, ArtigoDTO dto)
        {
            lista = lista.Where(t => t.DataValidade > DateTime.MinValue && ((t.MovimentaStock && t.Quantidade > 0) || !t.MovimentaStock)).ToList();

            if (lista != null && lista.Count > 0)
            {
                if (!string.IsNullOrEmpty(dto.Tipo))
                {
                    if (dto.Tipo == "E")
                    {
                        // Lista Apenas Expirados
                        lista = lista.Where(t => t.DataValidade < DateTime.Today).ToList();
                    }
                    else if (dto.Tipo == "P")
                    {
                        //Prestes a Expirar ou Expiram hoje
                        dto.ValidadeTerm = string.IsNullOrEmpty(dto.ValidadeTerm) ? DateTime.Today.ToString() : dto.ValidadeTerm;
                        lista            = lista.Where(t => t.DataValidade >= DateTime.Parse(dto.ValidadeIni) && t.DataValidade <= DateTime.Parse(dto.ValidadeTerm)).ToList();
                    }
                }
            }
            else
            {
                lista = new List <ArtigoDTO>();
            }

            return(lista);
        }
Пример #2
0
        public List <ItemMovimentoStockDTO> GetAllProductToInventoryList(string pWarehouseID, string pFilial, string pFamily, int pLoteID, int pSerialID, int pSizeID)
        {
            StockInfoDTO dto = new StockInfoDTO();

            dto.ArmazemID        = Convert.ToInt32(pWarehouseID);
            dto.DesignacaoArtigo = string.Empty;
            dto.Filial           = pFilial;
            var product = new ArtigoDTO();

            product.LoteID         = pLoteID;
            product.DimesaoID      = pSizeID;
            product.SerialNumberID = pSerialID;
            product.SemelhanteID   = -1;
            product.Categoria      = pFamily;
            product.Utilizador     = string.Empty;
            dto.Product            = product;
            if (dto.ArmazemID > 0)
            {
                return(daoStock.GetToInventory(dto));
            }
            else
            {
                return(new List <ItemMovimentoStockDTO>());
            }
        }
Пример #3
0
        public List <ArtigoDTO> GetProductListForHealtSales(string pUtilizador, string pArgs, string pFilial, string pArmazem, int pConvenioID, int pProductID)
        {
            ArtigoDTO dto = new ArtigoDTO(0)
            {
                Utilizador    = pUtilizador,
                Designacao    = pArgs,
                Referencia    = pArgs,
                CodigoBarras  = pArgs,
                Filial        = pFilial,
                PrecoVenda    = new GenericRN().ValorDecimal(pArgs),
                WareHouseName = pArmazem,
                ConvenioID    = pConvenioID,
                Codigo        = pProductID
            };

            List <ArtigoDTO> lista = ObterPorFiltro(dto);

            if (pProductID <= 0)
            {
                lista.Insert(0, new ArtigoDTO {
                    Codigo = -1, Designacao = "-SELECCIONE-"
                });
            }

            return(lista);
        }
Пример #4
0
        public List <SemelhanteDTO> ObterPorFiltro(ArtigoDTO pArtigo)
        {
            List <SemelhanteDTO> lista = new List <SemelhanteDTO>();
            SemelhanteDTO        dto;

            try
            {
                ComandText = "stp_GER_ARTIGO_SEMELHANTE_OBTERPORFILTRO";

                AddParameter("ARTIGO", pArtigo.Codigo);

                MySqlDataReader dr = ExecuteReader();

                while (dr.Read())
                {
                    dto            = new SemelhanteDTO();
                    dto.Codigo     = int.Parse(dr[0].ToString());
                    dto.Designacao = dr[1].ToString();
                    dto.PrecoVenda = Convert.ToDecimal(dr[2].ToString() ?? "0");
                    lista.Add(dto);
                }
            }
            catch (Exception ex)
            {
                dto = new SemelhanteDTO();
                dto.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                FecharConexao();
            }

            return(lista);
        }
Пример #5
0
        public ArtigoDTO ObterPorPK(ArtigoDTO dto)
        {
            int warehouseID = dto.ArmazemID, tablePrice = dto.PriceID;

            dto = daoProduct.ObterPorPK(dto);

            if (warehouseID > 0)
            {
                dto.InfoStock = new List <StockInfoDTO>()
                {
                    daoStock.StockActualArmazem(dto.Codigo, warehouseID, DateTime.MinValue, DateTime.Now)
                };
                dto.Quantidade = dto.InfoStock.Count == 1 ? dto.InfoStock[0].Actual : dto.Quantidade;
                dto.ArmazemID  = warehouseID;
            }

            if (tablePrice > 0)
            {
                var productPrice = ProductPriceListRN.GetInstance().ObterPorPK(new ProductPriceListDTO {
                    Codigo = dto.Codigo, PriceTableID = tablePrice
                });
                dto.PrecoVenda     = productPrice.PrecoVenda > 0 ? productPrice.PrecoVenda : dto.PrecoVenda;
                dto.ImpostoLiquido = dto.PrecoVenda * (dto.PercentualImposto / 100);
                dto.Preco          = dto.PrecoVenda;
            }

            return(dto);
        }
Пример #6
0
        public List <ItemFaturacaoDTO> GetComposeItemList(ArtigoDTO dto, List <ItemFaturacaoDTO> productList)
        {
            int OrderNumber = productList.Count + 1;

            foreach (var item in new ComposicaoDAO().ObterPorFiltro(dto))
            {
                ItemFaturacaoDTO _item = new ItemFaturacaoDTO();

                _item.NroOrdenacao = OrderNumber;
                OrderNumber++;
                _item.ComposeID      = item.ArtigoVirtualID;
                _item.Artigo         = item.Codigo;
                _item.Referencia     = item.Referencia;
                _item.Designacao     = item.Designacao;
                _item.PrecoUnitario  = item.PrecoVenda;
                _item.Quantidade     = item.Quantidade;
                _item.Desconto       = item.Desconto;
                _item.Imposto        = item.PercentualImposto;
                _item.TotalLiquido   = item.PrecoCusto;
                _item.MovimentaStock = item.MovimentaStock;
                _item.Notas          = string.Empty;
                _item.ArmazemID      = int.Parse(item.WareHouseName);
                _item.Composicao     = false;

                productList.Add(_item);
            }


            return(productList);
        }
Пример #7
0
        public ArtigoDTO Adicionar(ArtigoDTO dto)
        {
            try
            {
                ComandText = "stp_CLI_SERVICO_ADICIONAR";

                AddParameter("CODIGO", dto.Codigo);
                AddParameter("ESPECIALIDADE", dto.Especialidade);
                AddParameter("PRECO", dto.PrecoVenda);
                AddParameter("UNIDADE", dto.UnidadeVenda);
                AddParameter("DURACAO", dto.DuracaoPreparo);
                AddParameter("ESTADO", dto.Status);
                AddParameter("TIPO", dto.Categoria ?? (object)DBNull.Value);
                AddParameter("UTILIZADOR", dto.Utilizador);
                ExecuteNonQuery();
                dto.Sucesso = true;
            }
            catch (Exception ex)
            {
                dto.Sucesso      = false;
                dto.MensagemErro = ex.Message.Replace("'", "");
            }
            finally
            {
                FecharConexao();
            }

            return(dto);
        }
Пример #8
0
        public List <ArtigoDTO> ObterDropDownProductList(ArtigoDTO dto)
        {
            var lista = ObterPorFiltro(dto).Where(t => t.Tipo == "P").ToList();

            lista.Insert(0, new ArtigoDTO(-1, "-SELECCIONE-"));

            return(lista);
        }
Пример #9
0
        public List <ArtigoDTO> ObterDropDownListForServices(ArtigoDTO dto)
        {
            var lista = ObterServicos(dto);

            lista.Insert(0, new ArtigoDTO(-1, "-SELECCIONE-"));

            return(lista);
        }
Пример #10
0
 public void Gravar(List <ProductPriceListDTO> pLista, ArtigoDTO pProduct)
 {
     foreach (var dto in pLista)
     {
         dto.Codigo = pProduct.Codigo;
         dao.Adicionar(dto);
     }
 }
Пример #11
0
        public List <string> GetSalesProductsAutoComplete(string args, string field, string pFilial, int pArmazem, string pUtilizador)
        {
            List <string> prodList = new List <string>();

            ArtigoDTO dto = new ArtigoDTO(0);

            dto.Utilizador    = pUtilizador;
            dto.Designacao    = args;
            dto.Referencia    = args;
            dto.CodigoBarras  = args;
            dto.Filial        = pFilial;
            dto.PrecoVenda    = new GenericRN().ValorDecimal(args);
            dto.WareHouseName = pArmazem.ToString();

            List <ArtigoDTO> lista  = ObterPorFiltro(dto);
            bool             CanAdd = true;

            foreach (var artigo in lista)
            {
                if (field == "BarCode" && artigo.CodigoBarras != args)
                {
                    CanAdd = false;
                }

                if (!artigo.MovimentaStock || (artigo.MovimentaStock && artigo.Quantidade > 0) && CanAdd)
                {
                    if (artigo.MovimentaStock && pArmazem <= 0 && artigo.InfoStock.Count > 0)
                    {
                        var WarehouseStockInfo = artigo.InfoStock.Where(t => t.Actual > 0).ToList().FirstOrDefault();
                        if (WarehouseStockInfo != null)
                        {
                            artigo.ArmazemID     = WarehouseStockInfo.ArmazemID;
                            artigo.WareHouseName = WarehouseStockInfo.WareHouseName;
                            artigo.Quantidade    = WarehouseStockInfo.Actual;
                        }
                        else
                        {
                            CanAdd = false;
                        }
                    }

                    if (CanAdd)
                    {
                        prodList.Add(artigo.Codigo + ";" + artigo.FotoArtigo.Replace("~", "..") + ";" + artigo.Referencia + ";" + artigo.Designacao + ";" + artigo.Categoria + ";" +
                                     artigo.PrecoVenda + ";" + artigo.PrecoCusto + ";" + artigo.CodigoBarras + ";" + artigo.Quantidade + ";" + artigo.MovimentaStock + ";" + artigo.ValidadeIni + ";" +
                                     artigo.ImpostoID + ";" + artigo.PedidoCozinha + ";" + artigo.PercentualImposto + ";" + artigo.PrecoCustoMedioPadrao + ";" + artigo.UnidadeCompra + ";" + artigo.ArmazemID + ";" + artigo.UnidadeVenda +
                                     ";" + artigo.ImpostoIncluido + ";" + artigo.IsComposto + ";" + artigo.ControladoPorLotes + ";" + artigo.TemDimensoes + ";" + artigo.Tipo + ";" +
                                     artigo.ImpostoLiquido + ";" + artigo.LookupField11 + ";" + artigo.WareHouseName + ";" + artigo.Desconto + ";" + artigo.ComercialDescription + ";" +
                                     (artigo.WithRetention ? 1 : 0) + ";" + artigo.CurrencyID + ";" + artigo.UnidadeID);
                    }
                }
            }


            return(prodList);
        }
Пример #12
0
 public List <ArtigoDTO> ObterLaundryItemListForSale(ArtigoDTO dto)
 {
     if (int.Parse(dto.Categoria) > 0)
     {
         return(ObterArtigoVestuarioPorFiltro(dto));
     }
     else
     {
         return(ObterServicosMaisSolicitados(dto));
     }
 }
Пример #13
0
        public List <ArtigoDTO> ObterPorFiltroForDropDowList(ArtigoDTO dto)
        {
            var productList = new List <ArtigoDTO>();

            foreach (var item in ObterPorFiltro(dto))
            {
                item.Designacao = item.Referencia + " - " + item.Designacao;
                productList.Add(item);
            }
            productList.Insert(0, new ArtigoDTO(-1, "-Todos-"));
            return(productList);
        }
Пример #14
0
        public List <ArtigoDTO> ObterServicos(ArtigoDTO dto)
        {
            dto.Codigo        = 0;
            dto.Designacao    = dto.Designacao == null ? string.Empty : dto.Designacao;
            dto.Referencia    = dto.Referencia == null ? string.Empty : dto.Referencia;
            dto.CodigoBarras  = dto.CodigoBarras == null ? string.Empty : dto.CodigoBarras;
            dto.Categoria     = dto.Categoria == null ? string.Empty : dto.Categoria;
            dto.ValidadeIni   = string.Empty;
            dto.ValidadeTerm  = string.Empty;
            dto.WareHouseName = "-1";

            return(ObterPorFiltro(dto).Where(t => t.Tipo == "S").ToList());
        }
Пример #15
0
        public List <ArtigoDTO> ObterPorFiltro(StockInfoDTO dto)
        {
            List <ArtigoDTO> lista = new List <ArtigoDTO>();
            ArtigoDTO        objArtigo;

            try
            {
                ComandText = "stp_COM_STOCK_OBTERPORFILTRO";

                AddParameter("ARMAZEM", dto.ArmazemID);
                AddParameter("ARTIGO", dto.DesignacaoArtigo);
                AddParameter("@REFERENCIA", dto.Reference == null ? string.Empty : dto.Reference);
                AddParameter("@CODIGO_BARRAS", dto.BarCode == null ? string.Empty : dto.BarCode);
                AddParameter("FILIAL", dto.Filial);
                AddParameter("LOTE_ID", dto.LookupNumericField1);
                AddParameter("DIMENSAO_ID", dto.LookupNumericField2);
                AddParameter("SERIE_ID", dto.LookupNumericField3);
                AddParameter("SEMELHANTE_ID", dto.LookupNumericField4);

                MySqlDataReader dr = ExecuteReader();

                while (dr.Read())
                {
                    objArtigo = new ArtigoDTO
                    {
                        Codigo        = int.Parse(dr[0].ToString()),
                        Referencia    = dr[1].ToString(),
                        Designacao    = dr[2].ToString(),
                        Categoria     = dr[3].ToString(),
                        Quantidade    = Convert.ToDecimal(dr[4].ToString()),
                        PrecoCusto    = Convert.ToDecimal(dr[5].ToString()),
                        PrecoVenda    = Convert.ToDecimal(dr[6].ToString()),
                        WareHouseName = dr[7].ToString(),
                        FotoArtigo    = dr[8].ToString(),
                        CodigoBarras  = dr[9].ToString()
                    };
                    lista.Add(objArtigo);
                }
            }
            catch (Exception ex)
            {
                objArtigo = new ArtigoDTO();
                objArtigo.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                FecharConexao();
            }

            return(lista);
        }
Пример #16
0
 private void ReporStock(AtendimentoDTO dto)
 {
     foreach (var item in ObterItensAtendimento(dto))
     {
         ArtigoDTO artigo = ArtigoRN.GetInstance().ObterPorPK(new ArtigoDTO(item.Artigo));
         if (artigo.MovimentaStock)
         {
             ItemFaturacaoDTO stock = new ItemFaturacaoDTO();
             stock.Quantidade = item.Quantidade;
             stock.Artigo     = item.Artigo;
             new ItemFaturacaoDAO().ReposicaoStockArtigo(stock);
         }
     }
 }
Пример #17
0
        public List <string> GetProductsAutoCompleteForStock(string pArgs, string pField, string pFilial, int pArmazem, string pUtilizador)
        {
            List <string> prodList = new List <string>();


            ArtigoDTO dto = new ArtigoDTO(0);

            dto.Utilizador    = pUtilizador;
            dto.WareHouseName = pArmazem.ToString();
            dto.Designacao    = pArgs;
            dto.Referencia    = pArgs;
            dto.CodigoBarras  = pArgs;
            dto.Filial        = pFilial;
            dto.PrecoVenda    = new GenericRN().ValorDecimal(pArgs);
            List <ArtigoDTO> lista = ObterPorFiltro(dto).Where(t => /*t.ProductStatus == "A" &&*/ t.MovimentaStock == true).ToList();

            if (pArmazem > 0)
            {
                lista = lista.Where(t => t.ArmazemID == pArmazem).ToList();
            }

            if (pField != "BarCode")
            {
                foreach (var artigo in lista)
                {
                    prodList.Add(artigo.Codigo + ";" + artigo.FotoArtigo.Replace("~", "..") + ";" + artigo.Referencia + ";" + artigo.Designacao + ";" + artigo.Categoria + ";" +
                                 artigo.PrecoVenda + ";" + artigo.PrecoCusto + ";" + artigo.CodigoBarras + ";" + artigo.Quantidade + ";" + artigo.MovimentaStock + ";" + artigo.ValidadeIni + ";" +
                                 artigo.ImpostoID + ";" + artigo.PedidoCozinha + ";" + artigo.PercentualImposto + ";" + artigo.PrecoCustoMedioPadrao + ";" + artigo.UnidadeCompra + ";" + artigo.ArmazemID + ";" + artigo.UnidadeVenda +
                                 ";" + artigo.ImpostoIncluido + ";" + artigo.IsComposto + ";" + artigo.ControladoPorLotes + ";" + artigo.TemDimensoes + ";" + artigo.Tipo + ";" + artigo.ImpostoLiquido + ";" + artigo.LookupField11 + ";" + artigo.WareHouseName + ";" +
                                 artigo.IncomeUnit + ";" + artigo.ReferenceUnit + ";" + artigo.OutComeQuantity + ";" + artigo.UnidadeID + ";" + artigo.Comprimento + ";" + artigo.Largura);
                }
            }
            else
            {
                //List<ArtigoDTO> artigo = ObterPorFiltro(dto).Find(p => p.CodigoBarras == args) == null ? new ArtigoDTO() : ObterPorFiltro(dto).Find(p => p.CodigoBarras == args);
                foreach (var artigo in lista)
                {
                    if (artigo.CodigoBarras == pArgs)
                    {
                        prodList.Add(artigo.Codigo + ";" + artigo.FotoArtigo.Replace("~", "..") + ";" + artigo.Referencia + ";" + artigo.Designacao + ";" + artigo.Categoria + ";" +
                                     artigo.PrecoVenda + ";" + artigo.PrecoCusto + ";" + artigo.CodigoBarras + ";" + artigo.Quantidade + ";" + artigo.MovimentaStock + ";" + artigo.ValidadeIni + ";" +
                                     artigo.ImpostoID + ";" + artigo.PedidoCozinha + ";" + artigo.PercentualImposto + ";" + artigo.PrecoCustoMedioPadrao + ";" + artigo.UnidadeCompra + ";" + artigo.ArmazemID + ";" + artigo.UnidadeVenda +
                                     ";" + artigo.ImpostoIncluido + ";" + artigo.IsComposto + ";" + artigo.ControladoPorLotes + ";" + artigo.TemDimensoes + ";" + artigo.Tipo + ";" + artigo.ImpostoLiquido + ";" + artigo.LookupField11 + ";" + artigo.WareHouseName + ";" +
                                     artigo.IncomeUnit + ";" + artigo.ReferenceUnit + ";" + artigo.OutComeQuantity + ";" + artigo.Desconto + ";" + artigo.UnidadeID + ";" + artigo.Comprimento + ";" + artigo.Largura);
                    }
                }
            }

            return(prodList);
        }
Пример #18
0
        public List <string> GetProductsAutoComplete(string args, string field, string pFilial, string pUtilizador)
        {
            List <string> prodList = new List <string>();


            ArtigoDTO dto = new ArtigoDTO(0);

            dto.Utilizador   = pUtilizador;
            dto.Designacao   = args;
            dto.Referencia   = args;
            dto.CodigoBarras = args;
            dto.Filial       = pFilial;
            dto.PrecoVenda   = new GenericRN().ValorDecimal(args);
            List <ArtigoDTO> lista = ObterPorFiltro(dto) /*.Where(t=> t.ProductStatus == "A" && (!t.MovimentaStock || (t.MovimentaStock && t.Quantidade > 0))).ToList()*/;

            if (field != "BarCode")
            {
                foreach (var artigo in lista)
                {
                    prodList.Add(artigo.Codigo + ";" + artigo.FotoArtigo.Replace("~", "..") + ";" + artigo.Referencia + ";" + artigo.Designacao + ";" + artigo.Categoria + ";" +
                                 artigo.PrecoVenda + ";" + artigo.PrecoCusto + ";" + artigo.CodigoBarras + ";" + artigo.Quantidade + ";" + artigo.MovimentaStock + ";" + artigo.ValidadeIni + ";" +
                                 artigo.ImpostoID + ";" + artigo.PedidoCozinha + ";" + artigo.PercentualImposto + ";" + artigo.PrecoCustoMedioPadrao + ";" + artigo.UnidadeCompra + ";" + artigo.ArmazemID + ";" + artigo.UnidadeVenda +
                                 ";" + artigo.ImpostoIncluido + ";" + artigo.IsComposto + ";" + artigo.ControladoPorLotes + ";" + artigo.TemDimensoes + ";" + artigo.Tipo + ";" + artigo.ImpostoLiquido + ";" + artigo.LookupField11 + ";" +
                                 artigo.WareHouseName + ";" + artigo.Desconto + ";" + artigo.ComercialDescription + ";" + (artigo.WithRetention ? 1 : 0) + ";" + artigo.CurrencyID + ";"
                                 + artigo.UnidadeID + ";" + artigo.CustomerID);
                }
            }
            else
            {
                //List<ArtigoDTO> artigo = ObterPorFiltro(dto).Find(p => p.CodigoBarras == args) == null ? new ArtigoDTO() : ObterPorFiltro(dto).Find(p => p.CodigoBarras == args);
                foreach (var artigo in lista)
                {
                    if (artigo.CodigoBarras == args)
                    {
                        prodList.Add(artigo.Codigo + ";" + artigo.FotoArtigo.Replace("~", "..") + ";" + artigo.Referencia + ";" + artigo.Designacao + ";" + artigo.Categoria + ";" +
                                     artigo.PrecoVenda + ";" + artigo.PrecoCusto + ";" + artigo.CodigoBarras + ";" + artigo.Quantidade + ";" + artigo.MovimentaStock + ";" + artigo.ValidadeIni + ";" +
                                     artigo.ImpostoID + ";" + artigo.PedidoCozinha + ";" + artigo.PercentualImposto + ";" + artigo.PrecoCustoMedioPadrao + ";" + artigo.UnidadeCompra + ";" + artigo.ArmazemID + ";" + artigo.UnidadeVenda +
                                     ";" + artigo.ImpostoIncluido + ";" + artigo.IsComposto + ";" + artigo.ControladoPorLotes + ";" + artigo.TemDimensoes + ";" + artigo.Tipo + ";" +
                                     artigo.ImpostoLiquido + ";" + artigo.LookupField11 + ";" + artigo.WareHouseName + ";" + artigo.Desconto + ";" + artigo.ComercialDescription + ";" +
                                     (artigo.WithRetention ? 1 : 0) + ";" + artigo.CurrencyID + ";" + artigo.UnidadeID + ";" + artigo.CustomerID);
                    }
                }
            }

            return(prodList);
        }
Пример #19
0
        public void AcertoAutomaticoStock(ArtigoDTO produto)
        {
            ItemMovimentoStockDTO dto = new ItemMovimentoStockDTO();

            dto.Filial      = "-1";
            dto.LookupDate1 = DateTime.MinValue;
            dto.LookupDate2 = DateTime.MinValue;
            dto.ArtigoID    = produto.Codigo;
            dto.Armazem     = produto.ArmazemID.ToString();

            foreach (var item in ProductExtractList(dto))
            {
                produto.Quantidade = item.TotalLiquido;
            }

            daoStock.ActualizaStock(produto);
        }
Пример #20
0
        public List <ArtigoDTO> ObterPorTodos(string pFilial, string pUtilizador)
        {
            ArtigoDTO dto = new ArtigoDTO
            {
                Designacao    = string.Empty,
                Referencia    = string.Empty,
                CodigoBarras  = string.Empty,
                Categoria     = "-1",
                Filial        = pFilial,
                Utilizador    = pUtilizador,
                ValidadeIni   = string.Empty,
                ValidadeTerm  = string.Empty,
                WareHouseName = "-1"
            };

            return(ObterPorFiltro(dto));
        }
Пример #21
0
        public List <ComposicaoDTO> ObterPorFiltro(ArtigoDTO pArtigo)
        {
            List <ComposicaoDTO> lista = new List <ComposicaoDTO>();
            ComposicaoDTO        dto;

            try
            {
                ComandText = "stp_GER_ARTIGO_COMPOSICAO_OBTERPORFILTRO";

                AddParameter("ARTIGO", pArtigo.Codigo);

                MySqlDataReader dr = ExecuteReader();

                while (dr.Read())
                {
                    dto = new ComposicaoDTO();
                    dto.ArtigoVirtualID = int.Parse(dr[0].ToString());
                    dto.Codigo          = int.Parse(dr[1].ToString());
                    dto.Designacao      = dr[2].ToString();
                    dto.Quantidade      = Convert.ToDecimal(dr[3].ToString() ?? "0");
                    dto.PrecoVenda      = Convert.ToDecimal(dr[4].ToString() ?? "0");
                    dto.PrecoCusto      = Convert.ToDecimal(dr[5].ToString() ?? "0");
                    dto.MovimentaStock  = dr[6].ToString() != "1" ? false : true;
                    dto.Referencia      = dr[7].ToString();
                    dto.Desconto        = Convert.ToDecimal(dr[8].ToString());
                    dto.ImpostoLiquido  = decimal.Parse(dr[9].ToString());
                    dto.WareHouseName   = dr[10].ToString();
                    dto.Percentual      = decimal.Parse(dr[11].ToString());
                    lista.Add(dto);
                }
            }
            catch (Exception ex)
            {
                dto = new ComposicaoDTO();
                dto.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                FecharConexao();
            }

            return(lista);
        }
Пример #22
0
        public void ActualizaStock(ArtigoDTO dto)
        {
            try
            {
                ComandText = "stp_STOCK_ACTUALIZAR_STOCK_PRODUTO";

                AddParameter("PRODUCT_ID", dto.Codigo);
                AddParameter("QUANTIDADE", dto.Quantidade);
                AddParameter("ARMAZEM_ID", dto.ArmazemID);

                ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                dto.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                FecharConexao();
            }
        }
Пример #23
0
        public List <StockInfoDTO> ObterPorArtigo(ArtigoDTO pArtigo)
        {
            List <StockInfoDTO> lista = new List <StockInfoDTO>();
            StockInfoDTO        dto;

            try
            {
                ComandText = "stp_COM_STOCK_OBTERPORARTIGO";

                AddParameter("ARTIGO", pArtigo.Codigo);

                MySqlDataReader dr = ExecuteReader();

                while (dr.Read())
                {
                    dto                = new StockInfoDTO();
                    dto.ArtigoID       = int.Parse(dr[0].ToString());
                    dto.ArmazemID      = int.Parse(dr[1].ToString());
                    dto.WareHouseName  = dr[2].ToString();
                    dto.Actual         = Convert.ToDecimal(dr[3].ToString() ?? "0");
                    dto.ContagemFisica = Convert.ToDecimal(dr[4].ToString() ?? "0");
                    dto.Minima         = Convert.ToDecimal(dr[5].ToString() ?? "0");
                    dto.Maxima         = Convert.ToDecimal(dr[6].ToString() ?? "0");
                    dto.IsWarehousePOS = dr["ARM_POS"].ToString() == "1" ? true : false;
                    dto.UltimaContagem = dr["STOCK_DATA_ULTIMA_CONTAGEM"].ToString() != "" ? DateTime.Parse(dr["STOCK_DATA_ULTIMA_CONTAGEM"].ToString()) : DateTime.MinValue;
                    lista.Add(dto);
                }
            }
            catch (Exception ex)
            {
                dto = new StockInfoDTO();
                dto.MensagemErro = ex.Message.Replace("'", string.Empty);
            }
            finally
            {
                FecharConexao();
            }

            return(lista);
        }
Пример #24
0
        public Tuple <int, string> Salvar(ArtigoDTO dto)
        {
            var _genericClass = new GenericRN();

            dto = daoProduct.Adicionar(dto);

            if (string.IsNullOrEmpty(dto.MensagemErro))
            {
                int ItemID = dto.Codigo;
                ProductPriceListRN.GetInstance().Gravar(dto.PricesList, dto);
                return(new Tuple <int, string>(dto.Codigo, _genericClass.SuccessMessage()));
            }
            else
            {
                string errorMessage = _genericClass.ErrorMessage(" Ops!!! Ocorreu um erro ao guardar os dados do artigo:" + dto.MensagemErro.Replace("'", string.Empty));
                if (dto.Codigo > 0)
                {
                    errorMessage += "window.location.href='FichaArtigo?pP=" + dto.Codigo + "'";
                }
                return(new Tuple <int, string>(-1, errorMessage));
            }
        }
Пример #25
0
        public List <ArtigoDTO> ObterProdutosVendidosPorCategoria(ArtigoDTO dto)
        {
            var CategoryList = CategoriaRN.GetInstance().ObterPorFiltro(new CategoriaDTO
            {
                Codigo    = -1,
                Descricao = "",
                Sigla     = "",
                Categoria = "-1",
                Filial    = dto.Filial
            });
            var productList      = ObterProdutosVendidosPorPeriodo(dto);
            var CategoryBillList = new List <ArtigoDTO>();

            foreach (var category in CategoryList)
            {
                var ProductCategoryList = productList.Where(t => t.Categoria == category.Codigo.ToString() || t.SubCategoria == category.Codigo.ToString()).ToList();

                if (ProductCategoryList != null)
                {
                    dto = new ArtigoDTO
                    {
                        Designacao     = category.Descricao.ToUpper(),
                        PrecoCusto     = ProductCategoryList.Sum(t => t.PrecoCusto),
                        Quantidade     = ProductCategoryList.Sum(t => t.Quantidade),
                        PrecoVenda     = ProductCategoryList.Sum(t => t.PrecoVenda),
                        ValorStockPVP  = ProductCategoryList.Sum(t => t.ValorStockPVP),
                        Desconto       = ProductCategoryList.Sum(t => t.Desconto),
                        ImpostoLiquido = ProductCategoryList.Sum(t => t.ImpostoLiquido),
                        PrevisaoLucro  = ProductCategoryList.Sum(t => t.PrevisaoLucro)
                    };

                    CategoryBillList.Add(dto);
                }
            }

            return(CategoryBillList.OrderBy(t => t.Designacao).ToList());
        }
Пример #26
0
 public PromocaoDTO GetProductSalesPromotion(ArtigoDTO dto)
 {
     return(new PromocaoDTO());
 }
Пример #27
0
 public List <ArtigoDTO> ObterPorFiltro(ArtigoDTO dto)
 {
     return(daoProduct.ObterPorFiltro(dto));
 }
Пример #28
0
 internal decimal SupplierProductLastPrice(ArtigoDTO dto)
 {
     return(daoProduct.GetSupplierLastPrice(dto));
 }
Пример #29
0
 public List <ArtigoDTO> ObterServicosMaisSolicitados(ArtigoDTO dto)
 {
     return(daoProduct.GetBestSellersArtigoVestuario(dto).OrderByDescending(t => t.Quantidade).ToList());
 }
Пример #30
0
 public List <ArtigoDTO> GetExpiringList(ArtigoDTO dto)
 {
     return(ObterPorFiltro(dto));
 }