/// <summary> /// Constructeur /// </summary> /// <param name="command"> /// Message permettant de construire la requête d'ajout /// </param> public CommandEventArgs(Command command) { this.Command = command; }
/// <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; } }