예제 #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));
        }
예제 #2
0
        public ActionResult DetailComposant(int id, int idComposant)
        {
            CardComposantViewModel modelOut = new CardComposantViewModel();

            try
            {
                Module mdl = new Module();
                mdl = _moduleService.Get(id);
                Composant cpst = new Composant();
                cpst = _composantService.Get(idComposant);
                Composition cpstion = new Composition();
                cpstion.composant = cpst;
                cpstion.module    = mdl;

                mdl.compositions.Add(cpstion);

                decimal prixAvecTaux = Convert.ToDecimal(cpst.prixHT * (1 + (cpst.gamme.pourcentageGamme / 100)));
                decimal prixtotal    = Decimal.Add(mdl.prix, prixAvecTaux);
                mdl.prix = prixtotal;

                _moduleService.Update(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(id);


                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));
            }


            //List<Composition> composition = new List<Composition>();
            //composition = _compositionService.DonneTousComposants(id);
            //modelOut.lesTypesEmployes = _donneListeTypeEmploye();


            //modelOut.tableauComposant.lesLignes.Add(new List<object> { , module.typeModule.libe, module.prix.ToString(), module.id });


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