public string AddNewProvider(string comanyName, string contactTitle, string contactName, string address,
            string country, string region, string city, string postalCode, string phone, string homePage, string email,
            string fax, string rC, string nF, string nIs, string aI, int status, byte[] photo)
        {
            try
            {
                _gestionDb = new GcdbEntities();
                Provider newProvider = new Provider
                {
                    CompanyName = comanyName,
                    ContactTitle = contactTitle,
                    ContactName = contactName,
                    Address = address,
                    Country = country,
                    Region = region,
                    City = city,
                    PostalCode = postalCode,
                    Photo = photo,
                    HomePage = homePage,
                    Email = email,
                    RC = rC,
                    NF = nF,
                    NIS = nIs,
                    AI = aI,
                    Status = status,

                };
                _gestionDb.Providers.Add(newProvider);
                _gestionDb.SaveChanges();
                Telephone newTelephone = new Telephone
                {
                    SupplierID = newProvider.SupplierID,
                    TELEPHONETYPE = "Fix",
                    TELEPHONENUMBER = fax

                };
                _gestionDb.Telephones.Add(newTelephone);
                _gestionDb.SaveChanges();
                Telephone newTelephone2 = new Telephone
                {
                    SupplierID = newProvider.SupplierID,
                    TELEPHONETYPE = "mobile",
                    TELEPHONENUMBER = phone

                };
                _gestionDb.Telephones.Add(newTelephone2);
                _gestionDb.SaveChanges();
                return "Ajouté avec succés";
            }
            catch (Exception)
            {
                return "Erreur";
            }
        }
 public ListSuppliersView(string animationName, TabHelper hlp)
 {
     InitializeComponent();
     TabHlp = hlp;
     if (!string.IsNullOrEmpty(animationName))
     {
         Storyboard animation = (Storyboard) Application.Current.Resources[animationName];
         LayoutRoot.BeginStoryboard(animation);
     }
     _provider = new Provider();
     _supplierClient = new SuppliersManager();
 }
        public String DesactivateProvider(Provider provider)
        {
            try
            {
                _gestionDb = new GcdbEntities();
                var query = from t in _gestionDb.Providers
                    where t.SupplierID == provider.SupplierID
                    select t;
                if (!query.Any()) return "Erreur";
                query.First().Status = 1;
                _gestionDb.SaveChanges();
                return "Fournisseur désactiver avec succés";
            }
            catch (Exception e)
            {

                return "Erreur";
            }
        }
 private void LoadGridPurchases(Provider sup)
 {
     Dispatcher.BeginInvoke(new Action(() =>
     {
         _purchaseList = _purchaseClient.GetPurchase();
         if (_purchaseList != null)
             PurchasesDataGrid.ItemsSource = (from t in _purchaseList
                 where t.SupplierID == sup.SupplierID
                 select new
                 {
                     PurchaseID = t.PurchaseID,
                     PurchaseDate = t.PurchaseDate,
                     RequiredDate = t.CommandeDate,
                   //  Employee = t.Employee.EmployeeFirstname,
                     Description = t.Description,
                 }
                 ).ToList();
     }));
 }
        private void ProviderTableView_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (ProviderGridControl.VisibleRowCount == 0) return;
            int rowHandle = ProviderGridControl.View.FocusedRowHandle;
            if (rowHandle < 0) return;
             SuppliersManager suppliersManager=new SuppliersManager();
            string companyName = ProviderGridControl.GetCellValue(rowHandle, "CompanyName").ToString();
            _getProvider = suppliersManager.GetProviderByName(companyName);

            if (_getProvider == null) return;
            LoadPurchasesOfProvider(_getProvider);
        }
 private void LoadPurchasesOfProvider(Provider theProvider)
 {
     //*******************************************
     var getPurchases = new BackgroundWorker();
     getPurchases.DoWork += GetPurchasesOfProviderOnDoWork;
     getPurchases.RunWorkerCompleted += GetPurchasesOfProviderOnWorkerCompleted;
     getPurchases.RunWorkerAsync(theProvider);
     //*******************************************
 }
 public List<Purchase> GetPurchasesByProvider(Provider receiveProvider)
 {
     _gestionDb=new GcdbEntities();
     var query = from t in _gestionDb.Purchases
         where t.SupplierID == receiveProvider.SupplierID
         select t;
     if(!query.Any())return new List<Purchase>();
     return query.ToList();
 }
 private void LoadProviderFields(Provider provider)
 {
     ImageEdit1.EditValue = provider.Photo;
     CompanyTxtBox.Text = provider.CompanyName;
     TitleContactTxtBox.Text = provider.ContactTitle;
     NameContactTxtBox.Text = provider.ContactName;
     AdresseTxtBox.Text = provider.Address;
     CountryTxtBox.Text = provider.Country;
     RegionTxtBox.Text = provider.Region;
     CityTxtBox.Text = provider.City;
     ZipCodeTxtBox.Text = provider.PostalCode;
     WebSiteTxtBox.Text = provider.HomePage;
     EmailTxtBox.Text = provider.Email;
     RcTxtBox.Text = provider.RC;
     NsTxtBox.Text = provider.NF;
     NisTxtBox.Text = provider.NIS;
     AiTxtBox.Text = provider.AI;
 }
        public string UpdateProvider(Provider provider, string comanyName, string contactTitle,
            string contactName, string address, string country, string region, string city,
            string postalCode, string phone, string homePage, string email, string fax, string rC,
            string nF, string nIs, string aI, int status, byte[] photo)
        {
            try
            {
                _gestionDb = new GcdbEntities();
                var query = from t in _gestionDb.Providers
                    where t.SupplierID == provider.SupplierID
                    select t;
                if (!query.Any()) return "Erreur";
                query.First().CompanyName = comanyName;
                query.First().ContactTitle = contactTitle;
                query.First().ContactName = contactName;
                query.First().Address = address;
                query.First().Country = country;
                query.First().Region = region;
                query.First().City = city;
                query.First().PostalCode = postalCode;
                query.First().Photo = photo;
                query.First().HomePage = homePage;
                query.First().Email = email;
                query.First().RC = rC;
                query.First().NF = nF;
                query.First().NIS = nIs;
                query.First().AI = aI;
                query.First().Status = status;
                // remains the phone, voir avec mourad!

                _gestionDb.SaveChanges();
                return "Mise à jour avec succés";
            }
            catch (Exception)
            {
                return "Erreur";
            }
        }
 private Provider GetProvider()
 {
     if (ProviderGridControl.VisibleRowCount == 0) return null;
     int rowHandle = ProviderGridControl.View.FocusedRowHandle;
     String companyName = ProviderGridControl.GetCellValue(rowHandle, "CompanyName").ToString();
     _provider = _suppliersManager.GetProviderByName(companyName);
     return _provider;
 }
        private String Enregistrer()
        {
            try
            {

                //   Employee employeeEntity = WhoEmployee.Employee;
                _provider = GetProvider();
                if (_provider == null)
                {
                    DXMessageBox.Show(this, "Vous devez choisir un Fournissuer");
                    return "pas bien";
                }
                if (_productsSelSelected.Count == 0)
                {
                    DXMessageBox.Show(this, "Vous devez choisir au moin un produit");
                    return "Achat na pas été enregistrer";
                }
                DateTime commandeDtae = OrderDateDateEdit.DateTime;
                float getDicount = GetDiscount();
                string etatPayement = EtatPaymentCbx.Text;
                string modePayement = ModePaymentCbx.Text;
                string modeAchat = AchatTypeCbx.Text;
                string commandNum = CommandeNumberTxt.Text;
                string factureNum = AchatfactureNumTxt.Text;
                float facturePriceHt = ConvertToFloat(AchatfacturePriceHt.Text);
                var remarque = RemarqueRichTxtBox.Text;
                float tvaValue = ConvertToFloat(TvaComboBox.Text);
                //...

                //**************
                CreatePurchase(getDicount, etatPayement, modePayement, modeAchat,
                    commandNum, factureNum, facturePriceHt, remarque, _provider, commandeDtae, tvaValue);

                ClearAfterSave();
                return "Votre Achat a été bien enregistrer";
            }
            catch (Exception)
            {
                return "Erreur";
            }
        }
        private void CreatePurchase(float getDicount, string etatPayement, string modePayement,
            string modeAchat, string commandNum, string factureNum, float facturePriceHt,
            string remarque, Provider provider, DateTime commandeDtae, float tvaValue)
        {
            try
            {
                var gestionDb = new GcdbEntities();
                Provider getProvider = gestionDb.Providers.FirstOrDefault(c => c.SupplierID == provider.SupplierID);
                if(getProvider==null)return;
                var newPurchase = new Purchase
                {
                    TvaValue = tvaValue,
                    FacturePrice = facturePriceHt,
                    PurchaseMontant = _total,
                    EtatPaiement = etatPayement,
                    ModePaiement = modePayement,
                    ModeAchat = modeAchat,
                    CommandeNum = commandNum,
                    FactureNum = factureNum,
                    PurchaseDate = AchatDateDte.DateTime.Date,
                    CommandeDate = commandeDtae,
                    Status = 0,
                    Provider = getProvider,
                    SupplierID = provider.SupplierID,
                    Description = remarque,
                    Discount = (float?) getDicount,
                    Timbre = (double?) _timbre
                };
                foreach (var entitys in _productsSelSelected)
                {
                    var getId = Getid(entitys, tvaValue);
                    Product getProduct = gestionDb.Products.FirstOrDefault(c => c.ProductID == entitys.ProductId);
                    if(getProduct==null)continue;
                    var nwStore = new PurchaseStore
                    {
                        Product = getProduct,
                        ProductID = entitys.ProductId,
                        PurchasePrice = entitys.PurchasePrice,
                        TotalPriceAchat = entitys.TotalPriceAchat,
                        UnitsOnOrder = (double?) entitys.UnitsOnOrder,
                        VentePriceGros = entitys.VentePriceGros,
                        VentePriceDetail = entitys.VentePriceDetail,
                        VentePriceComptoire = entitys.VentePriceComptoire,
                        Discount = entitys.Discount,
                        TvaValue = tvaValue,
                        StockStoreID = getId
                    };
                    newPurchase.PurchaseStores.Add(nwStore);
                }
                gestionDb.Purchases.Add(newPurchase);
                gestionDb.SaveChanges();
            }
            catch (Exception e)
            {

                MessageBox.Show(e.ToString());
            }
        }