예제 #1
0
        public async void OnValidSubmit()
        {
            try
            {
                if (EntreHangarValidation.IdRack == 0)
                {
                    Notification.Notify(NotificationSeverity.Warning, "Attention", "Le Rack choisi n'est pas bon.");
                    return;
                }

                // Sauvegarde de la commande
                SuiviCommande cmd = EntreHangarValidation.ToSuiviCommande();
                await SqlContext.AddCommande(cmd);

                // Sauvegarde dans le hangar
                GeoCommande nouvelleEntreHangar = EntreHangarValidation.ToGeoCommande();
                await SqlContext.AddToHangar(nouvelleEntreHangar);

                HangarView newEntry = await SqlContext.GetHangar(nouvelleEntreHangar.CommandeId, nouvelleEntreHangar.RackId);

                Notification.Notify(NotificationSeverity.Success, "Sauvegarde OK", "Sauvegarde OK");
                Log.Information("HANGAR ENTREE - {date} : commande- {commande} - Gisement-{rack}",
                                nouvelleEntreHangar.DateEntree.ToString("d"),
                                cmd.IdCommande,
                                EntreHangarValidation.GisementRack);

                // remise à zéro
                EntreHangarValidation = new EntreHangarValidation();

                AllHangar.Add(newEntry);
                await HangarGrid.Reload();

                // Recharger les racks vides.
                Racks = await SqlContext.GetRackEmpty();

                StateChange.Invoke();
            }
            catch (Exception ex)
            {
                Log.Error(ex, "HangarViewModel - OnValidSubmit");
                Notification.Notify(NotificationSeverity.Success, "Error", "Erreur sur la sauvegarde");
            }
        }