/// <summary> /// 调用方法 /// </summary> /// <param name="MethodInfo">调用信息</param> public void RunMethod(String MethodInfo) { UserManager um = new UserManager(() => SendMessage()); RoleManager rm = new RoleManager(() => SendMessage()); CaseManager cm = new CaseManager(() => SendMessage()); MailManager mm = new MailManager(() => SendMessage()); MarkManager mrm = new MarkManager(() => SendMessage()); BsonDocument MethodInfoDoc = BsonDocument.Parse(MethodInfo); String Method = MethodInfoDoc.GetValue("Method").AsString; BsonDocument Data = new BsonDocument(); if (MethodInfo.Contains("Data")) { Data = MethodInfoDoc.GetValue("Data").AsBsonDocument; } switch (Method) { case "Login": um.UserLogin(Data, ReceiveMessage); break; case "CaseList": cm.GetAllCase(Data, ReceiveMessage); break; case "userList": um.GetAllUserByRole(Data, ReceiveMessage); break; case "AddUser": um.AddUser(Data, ReceiveMessage); break; case "UpdateUser": um.UpdateUser(Data, ReceiveMessage); break; case "DeleteUser": um.DeleteUser(Data, ReceiveMessage); break; case "AddRole": rm.AddRole(Data, ReceiveMessage); break; case "UpdateRole": rm.UpdateRole(Data, ReceiveMessage); break; case "DeleteRole": rm.DeleteRole(Data, ReceiveMessage); break; case "AddCase": cm.AddCase(Data, ReceiveMessage); break; case "CheckCaseName": cm.CheckCaseName(Data, ReceiveMessage); break; case "DeleteCase": cm.DeleteCase(Data, ReceiveMessage); break; case "AddDataToCase": cm.AddData(Data, ReceiveMessage); break; case "OpenCase": cm.OpenCase(Data, ReceiveMessage); break; case "GetCaseFilter": cm.GetCaseFilter(ReceiveMessage); break; case "GetCaseData": cm.GetCaseData(Data, ReceiveMessage); break; case "GetView": mm.GetMailDetailData(Data, ReceiveMessage); break; case "ChangeRead": mm.ChangeReadState(Data, ReceiveMessage); break; case "AddMark": mrm.AddMark(Data, ReceiveMessage); break; case "GetMarkForCase": mrm.GetMarks(ReceiveMessage); break; case "RemoveMark": mrm.RemoveMark(Data, ReceiveMessage); break; case "MarkMail": mrm.MarkMail(Data, ReceiveMessage); break; case "CancelMark": mrm.CancelMark(Data, ReceiveMessage); break; case "Export": cm.ExportCase(Data, ReceiveMessage); break; case "KeepAlive"://无返回结果 SendMessage(); break; default: SendMessage(-99, "远程方法不存在!"); break; } }
public MarkManager(Action CallBack) { this.CallBack = CallBack; mm = new MailManager(CallBack); }