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 Create(string MessageRetour = null)
        {
            ViewBag.isChefGarde = User.IsInRole(Constantes.ROLE_CHEF_GARDE);

            if (!String.IsNullOrEmpty(MessageRetour))
            {
                ViewBag.Success = MessageRetour;
            }

            FormSortieStockViewModel formModel = GetForm(false);

            return(View("Create", formModel));
        }
        public ActionResult Create(FormSortieStockViewModel formSortieStock)
        {
            ViewBag.isChefGarde = User.IsInRole(Constantes.ROLE_CHEF_GARDE);
            FormSortieStockViewModel formModel = this.GetForm(false, formSortieStock.sortieStock.uneSortieStock);

            if (ModelState.IsValid)
            {
                ActionControllerResult result = this.sortieStockService.InsertSortieStock(formSortieStock.sortieStock.uneSortieStock, User.Identity.GetUserId());
                if (result == ActionControllerResult.FAILURE)
                {
                    ViewBag.ErrorMessage = Constantes.MESSAGE_ERR_NOTIFICATIONS;
                    return(View(formModel));
                }
                this.logService.LogEvenement(LOG_TYPE_EVENT.Create, LOG_TYPE_OBJECT.SortieStockMateriel, null, "Création d'une Sortie de Materiel", null, User.Identity.GetUserId());
                return(RedirectToAction("Create", new { MessageRetour = "Réussi" }));
            }
            return(View(formModel));
        }