예제 #1
0
        private ActionControllerResult executeSortieStock(int stockSortieID, int stockEntreeID, int quantite, string userId)
        {
            ActionControllerResult result;
            SortieStockMateriel    uneSortie = new SortieStockMateriel();

            try
            {
                StockMateriel stockSortie = this.stockService.GetStockMaterielById(stockSortieID);
                StockMateriel stockSource = this.stockService.GetStockMaterielById(stockEntreeID);

                if (stockSortie.TypeMaterielID == stockSource.TypeMaterielID)
                {
                    //Suppression de la quantité du stock
                    result = this.stockService.UtilisationStockMateriel(stockSortie, quantite, userId);

                    if (result == ActionControllerResult.SUCCESS)
                    {
                        //Transfert du stock source vers le stock de sortie
                        StockMateriel tempSortieStock = new StockMateriel();
                        tempSortieStock.MaterielID     = stockSortie.MaterielID;
                        tempSortieStock.Quantite       = quantite;
                        tempSortieStock.TypeMaterielID = stockSortie.TypeMaterielID;

                        result = this.stockService.TransfertStockMateriel(stockSource.ID, tempSortieStock);

                        if (result == ActionControllerResult.SUCCESS)
                        {
                            //Si tout est ok, on créer la Sortie de Matériel
                            uneSortie.UsedStockMaterielID = stockSortieID;
                            uneSortie.IdSourceStock       = stockEntreeID;
                            uneSortie.Quantite            = quantite;
                            uneSortie.Utilisateur         = this.userService.GetUserById(userId);
                            uneSortie.DateSortie          = DateTime.Now;
                            uneSortie.TypeSortie          = MATERIEL_TYPE_SORTIE.Intervention;
                            uneSortie.Raison = MATERIEL_RAISON_SORTIE.Intervention;
                            this.sortieStockRepository.Insert(uneSortie);
                            this.unitOfWork.Save();
                            result = ActionControllerResult.SUCCESS;
                        }
                        else
                        {
                            result = ActionControllerResult.FAILURE;
                        }
                    }
                }
                else
                {
                    result = ActionControllerResult.FAILURE;
                }
            }
            catch (Exception ex)
            {
                this.logService.LogErreur(LOG_TYPE_OBJECT.SortieStockMateriel, null, "Erreur Lors de la création d'une Sortie de Stock", ex.Message, userId);
                result = ActionControllerResult.FAILURE;
            }

            return(result);
        }
        private FormSortieStockViewModel GetForm(bool isEdit, SortieStockMateriel uneSortie = null, SortieStockMateriel uneSource = null, int?idMaterielParametre = null)
        {
            FormSortieStockViewModel formModel = new FormSortieStockViewModel();

            formModel.sortieStock         = GetSortieStockForm(uneSortie, idMaterielParametre);
            formModel.idMaterielParametre = idMaterielParametre;

            formModel.sourceStock = GetSortieStockForm(uneSource);

            //Gestion du mode Edit et du mode Ajax
            formModel.isEdit = isEdit;
            return(formModel);
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SortieStockMateriel sortieStockMateriel = this.sortieStockService.GetSortieStockById(id);

            if (sortieStockMateriel == null)
            {
                return(HttpNotFound());
            }
            return(View(sortieStockMateriel));
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                string ErrorMessage = "Id Sortie de Stock manquant";
                return(RedirectToAction("Index", new { MessageErreur = ErrorMessage }));
            }
            SortieStockMateriel uneSortie = this.sortieStockService.GetSortieStockById(id);

            if (uneSortie == null)
            {
                return(HttpNotFound());
            }
            return(View(uneSortie));
        }
예제 #5
0
        public ActionControllerResult InsertSortieStock(SortieStockMateriel uneSortie, string userId = null)
        {
            ActionControllerResult result = this.executeSortieStock(uneSortie.UsedStockMaterielID, uneSortie.IdSourceStock, uneSortie.Quantite, userId);

            return(result);
        }
        private sortieStockMaterielViewModel GetSortieStockForm(SortieStockMateriel uneSortie, int?idMaterielParametre = null)
        {
            //Gestion de la récupératio des ID
            Materiel unMateriel   = null;
            int?     IdInventaire = null;
            int?     IdBloc       = null;
            int?     IdMateriel   = null;
            int?     IdStock      = null;

            if (uneSortie == null)
            {
                uneSortie = new SortieStockMateriel();

                //Initialisation des listes si un matériel est passer en paramètre (formulaireAjax)
                if (idMaterielParametre != null && idMaterielParametre > 0)
                {
                    unMateriel = GetIdsForList(idMaterielParametre, ref IdInventaire, ref IdBloc, ref IdMateriel);
                }
            }
            else if (uneSortie.UsedStockMaterielID > 0)
            {
                StockMateriel unStock = this.stockService.GetStockMaterielById(uneSortie.UsedStockMaterielID);
                if (unStock != null)
                {
                    IdMateriel   = unStock.MaterielID;
                    IdBloc       = unStock.Materiel.BlocInventaireID;
                    IdInventaire = unStock.Materiel.BlocInventaire.InventaireID;
                }
            }
            else if (uneSortie != null && idMaterielParametre > 0)
            {
                unMateriel = GetIdsForList(idMaterielParametre, ref IdInventaire, ref IdBloc, ref IdMateriel);
            }


            //Création Form
            sortieStockMaterielViewModel formModel = new sortieStockMaterielViewModel();

            formModel.uneSortieStock = uneSortie;

            //Gestion des listes
            formModel.listInventaire = this.selectListHelper.AddFirstItemSelectList(new SelectList(this.inventaireService.GetInventaires(), "ID", "Nom"), IdInventaire, "Sélectionner");

            if (IdInventaire != null)
            {
                formModel.listBlocInventaire = this.selectListHelper.AddFirstItemSelectList(new SelectList(this.blocInventaireService.GetBlocsInventaireByInventaire(Convert.ToInt32(IdInventaire)), "ID", "Nom"), IdBloc, "Sélectionner");
            }
            else
            {
                formModel.listBlocInventaire = this.selectListHelper.AddFirstItemSelectList(new SelectList(Enumerable.Empty <SelectListItem>(), "ID", "Nom"), IdBloc, "Aucun");
            }

            if (IdInventaire != null)
            {
                IEnumerable <Materiel>      listMateriel   = this.materielService.GetMaterielsByBlocInventaire(Convert.ToInt32(IdBloc));
                Dictionary <string, string> dictionaryItem = new Dictionary <string, string>();

                foreach (Materiel unMat in listMateriel)
                {
                    if (unMat.TypeMateriel != null)
                    {
                        dictionaryItem.Add(unMat.ID.ToString(), unMat.TypeMateriel.Nom);
                    }
                    else
                    {
                        dictionaryItem.Add(unMat.ID.ToString(), unMat.Nom);
                    }
                }
                formModel.listMateriel = this.selectListHelper.AddFirstItemSelectList(this.selectListHelper.CreateSelectList(dictionaryItem), IdMateriel, "Sélectionner");
            }
            else
            {
                formModel.listMateriel = this.selectListHelper.AddFirstItemSelectList(new SelectList(Enumerable.Empty <SelectListItem>(), "ID", "Nom"), IdMateriel, "Aucun");
            }

            if (IdMateriel == null)
            {
                formModel.listStock = this.selectListHelper.AddFirstItemSelectList(new SelectList(Enumerable.Empty <SelectListItem>(), "ID", "Nom"), IdStock, "Aucun");
            }
            else
            {
                formModel.listStock = this.selectListHelper.AddFirstItemSelectList(this.selectListHelper.CreateSelectList(this.stockService.CreateListStockByMaterielId(Convert.ToInt32(IdMateriel))), IdStock, "Sélectionner");
            }


            return(formModel);
        }