📄 notecontrol.as
字号:
package control{
import mx.rpc.remoting.RemoteObject;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import flash.events.Event;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.managers.CursorManager;
import model.ModelLocator;
import vo.noteVO;
import events.noteEvent;
public class noteControl {
internal var _service:RemoteObject;
internal var theModel:ModelLocator = ModelLocator.getInstance();
public function noteControl():void {
_service = new RemoteObject();
_service.destination = "noteBookService";
_service.addEventListener(FaultEvent.FAULT, FaultHandler);
}
public function doLogin(user:String,pass:String):void{
_service.doLogin.addEventListener(ResultEvent.RESULT, loginResultHandler);
_service.doLogin(user,pass);
}
internal function loginResultHandler(event:ResultEvent):void {
if(event.result == true){
theModel.isLogin = true;
theModel.dispatchEvent(new Event(noteEvent.LOGIN_OK));
}else{
theModel.dispatchEvent(new Event(noteEvent.LOGIN_FAILED));
}
}
public function getAllNotes():void{
_service.getAllNotes.addEventListener(ResultEvent.RESULT, noteResultHandler);
_service.getAllNotes.send();
CursorManager.setBusyCursor();
}
internal function noteResultHandler(event:ResultEvent):void{
CursorManager.removeBusyCursor();
if(event.result != null){
convertToData(event.result);
}
}
internal function convertToData(result:Object):void{
var info:ArrayCollection = result as ArrayCollection;
var datas:ArrayCollection = new ArrayCollection();
for(var i:int = 0;i<info.length;i++){
var n:noteVO = new noteVO();
n.fill(info.getItemAt(i));
datas.addItem(n);
}
theModel.notes = datas;
}
public function addNote(note:noteVO):void{
_service.addNote.addEventListener(ResultEvent.RESULT, addResultHandler);
_service.addNote(note);
}
internal function addResultHandler(event:ResultEvent):void{
if(event.result != null){
theModel.dispatchEvent(new Event(noteEvent.addNoteResult));
convertToData(event.result);
}else{
theModel.dispatchEvent(new Event(noteEvent.addNoteFail));
}
}
public function replyNote(nid:int,reply:String):void{
_service.replyNote.addEventListener(ResultEvent.RESULT, replyResultHandler);
_service.replyNote(nid,reply);
}
internal function replyResultHandler(event:ResultEvent):void{
if(event.result != null){
theModel.dispatchEvent(new Event(noteEvent.replyNoteResult));
convertToData(event.result);
}else{
//派发失败消息
theModel.dispatchEvent(new Event(noteEvent.replyNoteFail));
}
}
public function removeNote(nid:int):void{
_service.removeNote.addEventListener(ResultEvent.RESULT, removeResultHandler);
_service.removeNote(nid);
}
internal function removeResultHandler(event:ResultEvent):void{
if(event.result != null){
theModel.dispatchEvent(new Event(noteEvent.removeNoteResult));
convertToData(event.result);
}else{
theModel.dispatchEvent(new Event(noteEvent.removeNoteFail));
}
}
public function modifyAccount(user:String,oldpass:String,newpass:String):void{
_service.modifyAccount.addEventListener(ResultEvent.RESULT, modifyResultHandler);
_service.modifyAccount(user,oldpass,newpass);
}
internal function modifyResultHandler(evt:ResultEvent):void{
if(evt.result != false){
theModel.dispatchEvent(new Event(noteEvent.modifyPassResult));
}else{
theModel.dispatchEvent(new Event(noteEvent.modifyPassFail));
}
}
internal function FaultHandler (event:FaultEvent):void {
Alert.show(event.fault.message,"Error");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -