1
yhj
2024-07-24 5e5d945e91568b973faa27d8ab0bcef99fc4a6c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#region
 
using System;
using System.ServiceModel;
using CSFrameworkV5.Common;
using CSFrameworkV5.DataAccess;
 
#endregion
 
namespace CSFrameworkV5.WCFContract.WCF_Class
{
    [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
    [WCF_ExceptionBehaviour(typeof(WCF_ExceptionHandler))]
    public class MessageCenter : IMessageCenter
    {
        public void Broadcast(byte[] loginTicket, string message,
            string messageType)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                new dalMessageCenter(loginer).Broadcast(message, messageType);
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public bool DeleteBroadcast(byte[] loginTicket, int isid)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                return new dalMessageCenter(loginer).DeleteBroadcast(isid);
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public bool DeleteMessage(byte[] loginTicket, string messageId)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                return new dalMessageCenter(loginer).DeleteMessage(messageId);
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public byte[] GetBroadcast(byte[] loginTicket)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                var data = new dalMessageCenter(loginer).GetBroadcast();
                return ZipTools.CompressionDataSet(
                    ServerLibrary.TableToDataSet(data));
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public string GetBroadcastMessage(byte[] identity)
        {
            try
            {
                var isIdentity = WebSecurity.ValidateLoginIdentity(identity);
                return new dalMessageCenter(null).GetBroadcastMessage();
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public byte[] GetMessage(byte[] loginTicket, string account)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                var data = new dalMessageCenter(loginer).GetMessage(account);
                return ZipTools.CompressionDataSet(
                    ServerLibrary.TableToDataSet(data));
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public byte[] GetMessageTopDays(byte[] loginTicket, int days)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                var data =
                    new dalMessageCenter(loginer).GetMessageTopDays(days);
                return ZipTools.CompressionDataSet(
                    ServerLibrary.TableToDataSet(data));
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public void MakeRead(byte[] loginTicket, string messageID,
            string account)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                new dalMessageCenter(loginer).MakeRead(messageID, account);
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
 
        public bool SendMessage(byte[] loginTicket, string message,
            int accountGroupType, string accountOrGroup)
        {
            try
            {
                var loginer = WebSecurity.ValidateLoginer(loginTicket);
                new dalMessageCenter(loginer).SendMessage(message,
                    accountGroupType, accountOrGroup);
                return true;
            }
            catch (Exception ex)
            {
                throw new FaultException(ex.Message);
            }
        }
    }
}