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)); }
private byte[] GetFileSegment(ICompositionService scope, int fileId, int ofs, int size) { var buf = new byte[size]; using (var str = scope.Get <IFileSystemService <TestDomain> >().OpenFile(fileId)) { str.Position = Math.Max(0, ofs); var total = 0; while (total < size) { var read = str.Read(buf, total, size - total); if (read == 0) { break; } total += read; } if (total < size) { Array.Resize(ref buf, total); } return(buf); } }
public IPropertyFilter ParseComponent <TDomain>(ICompositionService comp, PropertyFilterFactory <TDomain> factory, IPropertyFilter sourceFilter, IAuditProperty p, PropertyValueComparison cmp, string value) { var res = from prop in Maybe.Value(p as IAuditProperty <TProp>) from selector in comp.Get <PropertyValueSelectorCache <TProp> >().GetSelector(prop) from parsed in Maybe.SafeValue(() => selector.ParsePostedValue(value)) select sourceFilter == null?factory.Create(prop, parsed, cmp) : sourceFilter.And(prop, parsed, cmp); return(res.ValueOrNull() ?? sourceFilter); }
public ClientControlDisplay RenderSelector(ICompositionService comp, IAuditProperty p, object value) { var selector = comp.Get <PropertyValueSelectorCache <TProp> >().GetSelector(p as IAuditProperty <TProp>); return(selector == null ? null : selector.RenderSelector(value == null ? default(TProp) : (TProp)value)); }