Exemple #1
0
        /// <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;
            }
        }
Exemple #2
0
 public MarkManager(Action CallBack)
 {
     this.CallBack = CallBack;
     mm = new MailManager(CallBack);
 }