Esempio n. 1
0
        public ActionResult DeleteComposantDetail(int idToDelete)
        {
            CardComposantViewModel modelOut = new CardComposantViewModel();
            CompositionDTO         cpstion  = new CompositionDTO();
            ModuleDTO mdl = new ModuleDTO();
            int       idModule;
            decimal   prixComposant;

            try
            {
                cpstion       = Mapper.Map <Composition, CompositionDTO>(_compositionService.Get(idToDelete));
                prixComposant = Convert.ToDecimal(cpstion.composant.prixHT * (1 + (cpstion.composant.gamme.pourcentageGamme / 100)));
                _compositionService.Delete(idToDelete, _donneNomPrenomUtilisateur());
                _compositionService.Save();

                //On récupère les caractéristiques du module
                idModule = _compositionService.Get(idToDelete).module.id;
                mdl      = Mapper.Map <Module, ModuleDTO>(_moduleService.Get(idModule));
                mdl.prix = Decimal.Subtract(mdl.prix, prixComposant);
                _moduleService.Update(Mapper.Map <ModuleDTO, Module>(mdl), _donneNomPrenomUtilisateur());
                _moduleService.Save();

                //On reconstruit le tableau récapitulant les composants de l'employé
                modelOut.tableauComposant.avecActionCrud = false;
                modelOut.tableauComposant.lesLignes.Add(new List <object> {
                    "Composant", "Prix fournisseur", "Prix de vente", "Gamme", ""
                });
                List <Composition> composition1 = new List <Composition>();
                composition1 = _compositionService.DonneTousComposants(idModule);


                if (composition1.Count != 0)
                {
                    foreach (Composition cpst1 in composition1)
                    {
                        modelOut.tableauComposant.lesLignes.Add(new List <object> {
                            cpst1.composant.libe, cpst1.composant.prixHT.ToString(), (cpst1.composant.prixHT * (1 + (cpst1.composant.gamme.pourcentageGamme / 100))).ToString(), cpst1.composant.gamme.libe, cpst1.id
                        });
                    }
                }

                modelOut.lesComposants = _donneListeComposants();

                FlashMessage.Confirmation("Composant mis à jour avec succès");
            }
            catch (Exception e)
            {
                FlashMessage.Danger("Erreur lors de la mise à jour du composant");

                return(PartialView("~/Areas/RechercheDeveloppement/Views/Module/_CardComposantPartial.cshtml", modelOut));
            }

            return(PartialView("~/Areas/RechercheDeveloppement/Views/Module/_CardComposantPartial.cshtml", modelOut));
        }