// Méthode qui retourne un FactoryType en fonction de ID FactoryType public static FactoryTypeBO FindById(int factoryTypeId) { try { List<FactoryTypeBO> listResult = new List<FactoryTypeBO>(); FactoryTypeBO result = new FactoryTypeBO(); FactoryTypeDAL dal = new FactoryTypeDAL(CUtil.GetConnexion()); listResult = dal.FactoryTypeBO_FindById(factoryTypeId).ToList(); result = listResult.FirstOrDefault(); return result; } catch (Exception) { throw; } }
/* * Permet d'afficher les infos de FactoryType en fonction du choix */ private void cbxFactoryType_SelectedIndexChanged(object sender, EventArgs e) { try { factoryType = new FactoryTypeBO(); int id_FactoryType; if (Int32.TryParse(cbxFactoryType.SelectedValue.ToString(), out id_FactoryType)) { factoryType = factoryTypeList.Find(c => c.id_factory_type == id_FactoryType); lblFactoryPrice.Text = factoryType.price.ToString(); lblPriceProduction.Text = factoryType.toy_production_price.ToString(); lblSalePrice.Text = factoryType.toy_sales_prices.ToString(); } } catch (Exception) { throw; } }
// Implémentation méthode productToys Interface Factory public void productToys(FactoryBO factory, UserBO user) { try { // Recherche FactoryType en fonction de Factory FactoryTypeBO factoryType = new FactoryTypeBO(); factoryType = FactoryTypeBL.FindById(factory.type); // Update du capital en fonction des info FactoryType int newCapital = user.capital - factoryType.toy_production_price; user.capital = newCapital; UserBL.Update(user); // Update du status Factory factory.status = "true"; FactoryBL.Update(factory); } catch (Exception) { throw; } }
// Implémentation méthode salesProduct Interface Factory public void salesProduct(FactoryBO factory, UserBO user) { try { // Recherche FactoryType en fonction de Factory FactoryTypeBO factoryType = new FactoryTypeBO(); factoryType = FactoryTypeBL.FindById(factory.type); // Update du capital en fonction des info FactoryType et du stock int newCapital = user.capital + factory.factory_stock * factoryType.toy_sales_prices; user.capital = newCapital; UserBL.Update(user); // Remise à zéro du stock factory.factory_stock = 0; FactoryBL.Update(factory); } catch (Exception) { throw; } }
/* * Chargement de la Form frmFactoryManage */ private void frmFactoryManage_Load(object sender, EventArgs e) { try { // Update status Factory si la date de prod + 1 heure est passée ou pas using (FactoryIFACClient proxyFactory = new FactoryIFACClient()) { factory = proxyFactory.findFactory(factory.id_factory); /* * Check le status de Factory * Si true: Vérifie que la date de production est passée -> oui: factory_stock = toy_current_production, toy_current_production = 0 et status updaté + affichage Jouets produits * -> non: les boutons Launch Production et Sale Stock sont bloqués * Sinon: ne fait rien */ if (proxyFactory.checkStatus(factory)) { DateTime timeNow = Utilities.getDate(); DateTime timeProd = (DateTime)factory.toy_production_time; if (Utilities.compareDate(timeProd, timeNow)) { btnProduct.Enabled = false; btnProduct.Text = STATUS_PRODUCTION; btnSale.Enabled = false; btnSale.Text = STATUS_PRODUCTION; } else { String production_result = factory.toy_current_production.ToString(); factory.factory_stock = factory.factory_stock + factory.toy_current_production; factory.toy_current_production = 0; factory.status = STATUS_OK; proxyFactory.updateFactory(factory); MessageBox.Show("Votre usine a produit " + production_result + " jouets."); } } } // Affiche les informations: Nom Jouets, Prix Production, Stock et Prix Vente using (FactoryTypeIFACClient proxyFactoryType = new FactoryTypeIFACClient()) { listFactoryType = new List<FactoryTypeBO>(); listFactoryType = proxyFactoryType.selectAll(); factoryType = listFactoryType.Find(type => type.id_factory_type == factory.type); lblToys.Text = factoryType.name; lblProductionPrice.Text = factoryType.toy_production_price.ToString(); lblStock.Text = factory.factory_stock.ToString(); lblSalesPrice.Text = factoryType.toy_sales_prices.ToString(); } } catch (Exception) { throw; } }