public string DeleteStockStore(StockStore getStockStore)
 {
     try
        {
        var gestionDb = new GcdbEntities();
        var query = from t in gestionDb.StockStores
                    where t.StockStoreID == getStockStore.StockStoreID
                    select t;
        if (!query.Any()) return "Erreur";
        gestionDb.StockStores.Remove(query.First());
        gestionDb.SaveChanges();
        return "Supprimé avec succés";
        }
        catch (Exception)
        {
        return "Erreur";
        }
 }
        public string AddNewProductToStock(Product product,
           float prixAchat, int qteAchter, float prixVenteGros,float prixVenteDetail,float prixVenteComptoire, float totalPriceHt,
           string stockageId, string productSnumber, string productState,
           string stockObs, DateTime insertionDate, string refrenceNum)
        {
            try
               {
               var gestionDb = new GcdbEntities();

               var newsStockStore = new StockStore
               {
                   ProductID = product.ProductID,
                   PurchasePrice = prixAchat,
                   UnitsOnOrder = qteAchter,
                   VentePriceGros = prixVenteGros,
                   VentePriceDetail = prixVenteDetail,
                   VentePriceComptoire = prixVenteComptoire,
                   TotalPriceAchat = totalPriceHt,
                   Status = 0,
                   TvaValue = 0,
                   Discount = 0,
                   ProductState = productState,
                   Serialnumber = productSnumber,
                   Observation = stockObs,
                   InsertionDate = insertionDate,
                   RefrenceNum = refrenceNum,
                   StockageID = stockageId
               };

               gestionDb.StockStores.Add(newsStockStore);
               gestionDb.SaveChanges();
               return "Ajouté avec succés";

               }
               catch (Exception)
               {
               return "Erreur";
               }
        }
        private void LoadStockFields(StockStore getStockStore)
        {
            _getStockStore = getStockStore;
            if (getStockStore == null) return;
            if (getStockStore.InsertionDate != null)
            {
                DateTime getDate = (DateTime)getStockStore.InsertionDate;
                ProductSaleDateDte.Text = getDate.ToString("d");
            }

            //***********************************
            PrixAchatTxt.Text =getStockStore.PurchasePrice.ToString();
            if (getStockStore.UnitsOnOrder != null)
                QteAchterSpin.Text = ConvertToInteger((decimal) getStockStore.UnitsOnOrder).ToString();
            PrixVenteGrosTxt.Text= getStockStore.VentePriceGros.ToString();
            VentePriceUnitDetailTxt.Text = getStockStore.VentePriceDetail.ToString();
            VentePriceUnitComptoireTxt.Text = getStockStore.VentePriceComptoire.ToString();
            TotalPrixTxt.Text = getStockStore.TotalPriceAchat.ToString();
            StockageIDtxt.Text = getStockStore.StockageID;
            ProductSNtxt.Text = getStockStore.Serialnumber;
            ProductStateCBX.Text = getStockStore.ProductState;
            StockObStxt.Text = getStockStore.Observation;
            ReferenceTxt.Text = getStockStore.RefrenceNum;
        }
        private void LoadProductFields(StockStore getStockStore)
        {
            try
            {
                if (getStockStore == null) return;

                CategoryCbx.Text = getStockStore.Product.SubCategory.Category.CategoryName;
                SubCategoryCbx.Text = getStockStore.Product.SubCategory.SubCategoryName;
                ProductNameCbx.Text = getStockStore.Product.ProductName;
                ReferenceTxt.Text = getStockStore.RefrenceNum;

                DesignationTxt.Text = getStockStore.Product.Designation;
                MeasureTxt.Text = getStockStore.Product.MeasureUnit;
                ProductMinValueTxt.Text = getStockStore.Product.ProductMinQte.ToString();
                ProductMaxValueTxt.Text = getStockStore.Product.ProductMaxQte.ToString();
                if (getStockStore.ProductID == null) return;
                int productId = (int) getStockStore.ProductID;
                QteInStockTxt.Text = GetQteInStock(productId);
            }
            catch (Exception)
            {
                //
            }
        }
 private void ClearStockFields()
 {
     _getStockStore = null;
     ProductSaleDateDte.Clear();
     ReferenceTxt.Clear();
     PrixAchatTxt.Clear();
     QteAchterSpin.Clear();
     PrixVenteGrosTxt.Clear();
     VentePriceUnitDetailTxt.Clear();
     VentePriceUnitComptoireTxt.Clear();
     TotalPrixTxt.Clear();
     StockageIDtxt.Clear();
     ProductSNtxt.Clear();
     ProductStateCBX.Clear();
     StockObStxt.Clear();
 }
 public Product GetProduct(StockStore getStockStore)
 {
     try
        {
        var gestionDb = new GcdbEntities();
        var query = from t in gestionDb.Products
                    where t.ProductID == getStockStore.ProductID
                    select t;
        if (!query.Any()) return null;
        return query.First();
        }
        catch (Exception)
        {
        return null;
        }
 }
        public string UpdateStockStore(StockStore getStockStore, float prixAchat, int qteAchter,
           float prixVenteGros, float prixVenteDetail, float prixVenteComptoire, float totalPriceHt, string stockageId,
           string productSnumber, string productState, string stockObs, DateTime insertionDate, string refrenceNum)
        {
            try
               {
               var gestionDb = new GcdbEntities();
               var query = from t in gestionDb.StockStores
                   where t.StockStoreID == getStockStore.StockStoreID
                   select t;
               if (!query.Any()) return "Erreur";

               query.First().ProductID = getStockStore.ProductID;
               query.First().PurchasePrice = prixAchat;
               query.First().UnitsOnOrder = qteAchter;
               query.First().VentePriceGros = prixVenteGros;
               query.First().VentePriceDetail = prixVenteDetail;
               query.First().VentePriceComptoire = prixVenteComptoire;
               query.First().TotalPriceAchat = totalPriceHt;

               query.First().ProductState = productState;
               query.First().Serialnumber = productSnumber;
               query.First().Observation = stockObs;
               query.First().InsertionDate = insertionDate;
               query.First().RefrenceNum = refrenceNum;
               query.First().StockageID = stockageId;
               gestionDb.SaveChanges();
               return "Mise à jour avec succés";
               }
               catch (Exception)
               {
               return "Erreur";
               }
        }
        private int Getid(ProduitsSel entitys, float tvaValue)
        {
            string stockageId = StockageIDtxt.Text;
            string productSnumber = ProductSNtxt.Text;
            string productState = ProductStateCbx.Text;
            string refrenceNum = ReferenceTxt.Text;
            string stockObs = StockObStxt.Text;
            var gestionDb = new GcdbEntities();

            var newStockStore = new StockStore
            {
                Discount = entitys.Discount,
                VentePriceGros = entitys.VentePriceGros,
                VentePriceDetail = entitys.VentePriceDetail,
                VentePriceComptoire = entitys.VentePriceComptoire,
                PurchasePrice = entitys.PurchasePrice,
                UnitsOnOrder = (double?) entitys.UnitsOnOrder,
                TvaValue = tvaValue,
                TotalPriceAchat = entitys.TotalPriceAchat,
                ProductID = entitys.ProductId,
                ProductState = productState,
                Serialnumber = productSnumber,
                Observation = stockObs,
                InsertionDate = AchatDateDte.DateTime.Date,
                RefrenceNum = refrenceNum,
                StockageID = stockageId
            };
            gestionDb.StockStores.Add(newStockStore);
            gestionDb.SaveChanges();
            return newStockStore.StockStoreID;
        }
        private void UpdateFunction(StockStore stockStore, int unitsOnorder, decimal discount, decimal salePrice)
        {
            try
            {
                bool exist = _productSelected.Exists(item => item.ProductID == stockStore.Product.ProductID);
                if (!exist) return;
                var returnProduct = _productSelSelected.Find(item => item.ProductName == stockStore.Product.ProductName);
                var prodSel = new ProduitsSel
                {
                    //ProductId = getProduit.ProductID,
                    ProductName = stockStore.Product.ProductName,
                    UnitsOnOrder = unitsOnorder + returnProduct.UnitsOnOrder,
                    TotalPrice = salePrice*unitsOnorder + returnProduct.TotalPrice,
                    TheProduct = returnProduct.TheProduct,
                    UnitePrice = salePrice,
                    // PurchasePrice = purchasePrice + returnProduct.PurchasePrice,
                    //Discount = discount,
                    //VentePriceGros = returnProduct.VentePriceGros,
                    //VentePriceDetail = returnProduct.VentePriceDetail,
                    //VentePriceComptoire = returnProduct.VentePriceComptoire,
                    //TotalPriceVente = returnProduct.VentePriceGros * (float)(unitsOnorder + returnProduct.UnitsOnOrder),
                    //TotalPriceAchat = purchasePrice * (float)(unitsOnorder + returnProduct.UnitsOnOrder)
                };

                var index = _productSelSelected.IndexOf(returnProduct);
                _productSelSelected.RemoveAt(index);
                _productSelSelected.Add(prodSel);
            }
            catch (Exception)
            {
                //
            }
        }