IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web avec .NET Discussion :

Problème séquencement d'exécution silverlight


Sujet :

Développement Web avec .NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 16
    Points : 18
    Points
    18
    Par défaut Problème séquencement d'exécution silverlight
    Salut,
    je développe un module pour supprimer un ordre de fabrication qui est composé d'un certain nombre de produit (entrée en stock)
    pour cela je dois supprimer les produits qui le constitue (supprimer les entrée et les enregistrer en tant que sortie) et enregistrer les mouvement dans la table stock => (dans ce cas je dois recalculer la quantité en stock qteStock=qteStock-qteEntree)
    lorsque j'ai des produits différents la suppression fonctionne correctement. Le problème survient lorsque j'ai le même produit qui existe plusieurs fois dans l'ordre de fabrication, la quantité sera erroné dans le stock.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    foreach (var item in Entrees)
    {
    MonContext ctx = MonContext();
    Sortie sortie = new Sortie();
    sortie.IDArticle = item.IDArticle;
    sortie.DateSortie = System.DateTime.Now;
    sortie.QteUnitePrimaire = item.QteUnitePrimaire;
     
    //enregistrement de la table sortie
     
    ctx.Sorties.Add(sortie);
    ctx.SubmitChanges();
     
    //enregistrement dans la table stock
     
    Stock stock = new Stock();
    stock.idEntreeSortie = sortie.IDSortie;
    stock.DateEntreeSortie = DateTime.Now;
    stock.IsSortie = true;
    stock.IsEntree = false;
    stock.IDArticle =item.IDArticle;
    stock.qteStock= ctx.GetQuantiteInStock(item.IDArticle) - sortie.QteUnitePrimaire ;
    ctx.Stocks.Add(stock);
    ctx.SubmitChanges();
    }

    pour récuppérer la quantité en stock dans le service

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public double? GetQuantiteInStock(int idArticle)
    {
    double? qteEntree = this.ObjectContext.Entree.Where(p => p.IDArticle == idArticle).Select(e => e.QteUnitePrimaire).Sum();
    double? qteSortie = this.ObjectContext.Sortie.Where(p => p.IDArticle == idArticle).Select(e => e.QteUnitePrimaire).Sum();
    return qteEntree-qteSortie;
    }

    donc mon problème et que lorsque j'execute mon programme et quand je supprime un ordre de fabrication
    qui contient l'article 40, 2 fois avec la quantité dans le premier entrée est 3 et dans le deuxième entrée est 5 sachant que la quantité initial
    dans le stock est 20. j'aurais après la suppression de l'ordre de fabrication lorsqu'il supprime la première entrée (qteStock = 17)
    et après la suppression du deuxième entrée (qteStock = 15) alors que ça doit être recalculer à partie du 17 donc ça doit être 12
    d'après mon analyse pour l'exécution je constate que le programme n'exécute pas le fonctionnement demandé pour chaque item à part(çàd il exécute l'ajout en sortie, calcul la qteStock et enregistre dans la table Stock pour le premier item avant de passer au deuxième..)
    Mais il exécute l'ajout dans la table sortie pour tous les item ensuite il continue l'exécution

    c'est principalement un problème de séquencement
    j'ai essayé d'utiliser un backgroundworker pour bloquer l'exécution mais sans succès, toujours le même problème (il saute les étapes)

    quelqu'un peut proposer des idées pour contourner le problème

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Il ne serait pas préférable de boucler sur tous les sorties et ENSUITE sur les stocks ?

    Car j'ai l'impression que le submit n'est pas terminé quand tu essais de recupérer la quantité en stock, ce qui fausse le résultat.

    Sinon pour être sûr tu peux utiliser des callbacks (dès que le submit est terminé => exécuter un code).

Discussions similaires

  1. problème erreur d'exécution '48'
    Par SANGLIER dans le forum Access
    Réponses: 1
    Dernier message: 20/01/2007, 10h35
  2. [Système] problème avec l'exécution
    Par musmus dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2007, 13h58
  3. Réponses: 1
    Dernier message: 28/06/2006, 16h07
  4. Réponses: 1
    Dernier message: 30/09/2005, 10h46
  5. Problème technique d'exécution (F9)
    Par Tendance dans le forum EDI
    Réponses: 6
    Dernier message: 19/10/2004, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo