コード例 #1
0
 /// <summary>
 /// Constructeur
 /// </summary>
 /// <param name="command">
 /// Message permettant de construire la requête d'ajout
 /// </param>
 public CommandEventArgs(Command command)
 {
     this.Command = command;
 }
コード例 #2
0
        /// <summary>
        /// Réception d'une commande
        /// </summary>
        /// <param name="message">
        /// Description de la commande à réaliser
        /// </param>
        public void ReceiveCommand(Command message)
        {
            switch (message.Type)
            {                             
                case MCommandType.PerformSave:
                    String temp = Path.GetExtension(DocumentName);
                    string extension = Path.GetExtension(DocumentName).TrimStart('.');
                    ISerializer documentSerializer = RegistryExtended.DocumentManager.GetSerializer(extension);
                    FileSerializer.Save(model, DocumentName, documentSerializer);
                    break;
                
                case MCommandType.PerformSaveAs:
                    ISerializer serializer = RegistryExtended.DocumentManager.GetSerializer(message.Arguments[1]);
                    FileSerializer.Save(model, message.Arguments[0], serializer);
                    DocumentName = message.Arguments[0];
                    break;

                case MCommandType.PerformCloseView:
                    if (MustAskForSave())
                        RegistryExtended.DocumentManager.AskForSave(DocumentName,(IDocumentController)this);
                    else
                        OnNeedToCloseView(new CommandEventArgs(message));
                    break;

                case MCommandType.PerformCloseDocument:
                    throw new NotImplementedException();
                    break;

                case MCommandType.PerformCloseAll:
                    throw new NotImplementedException();
                    break;

                case MCommandType.ConfirmCloseView:
                    OnNeedToCloseView(new CommandEventArgs(message));
                    break;

                case MCommandType.ViewReadyToClose:
                    RemoveView();
                    int viewId = Convert.ToInt32(message.Arguments[0]);
                    if (viewId == null)
                        throw new ArgumentException();
                    RegistryExtended.DocumentManager.CloseTabView(viewId);
                    //throw new NotImplementedException();
                    break;
            }
        }