Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Blog/Impl/PostWriterWebServiceAdapter.cs @ 120:c3573defd18f
Agregado de Fecha, Usuario y Successful en TrackLog
Modificacion de publicador de blog para usar TrackLog
Agregado de TrackLog en el test de crud de eventos
Fix en publicador de twitter para que no twitee si ya se encuentra en TrackLog pero con Successful en true
author | Jorge@Jorge-PC |
---|---|
date | Fri, 24 Jun 2011 21:18:21 -0300 |
parents | 1d820f17fc75 |
children |
rev | line source |
---|---|
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
1 using System; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
2 using System.Globalization; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
3 using System.Security.Cryptography; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
4 using System.ServiceModel; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
5 using Agendas.Blog.Exceptions; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
6 using Agendas.Blog.PortalSitefinity; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
7 |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
8 namespace Agendas.Blog.Impl |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
9 { |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
10 public class PostWriterWebServiceAdapter : IPostWriterWebService |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
11 { |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
12 private readonly BlogPublicadorConfig _config; |
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
13 private readonly PostWriterWebServiceSoapClient _service; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
14 |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
15 public PostWriterWebServiceAdapter(BlogPublicadorConfig config) |
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
16 { |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
17 _config = config; |
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
18 _service = new PortalSitefinity.PostWriterWebServiceSoapClient(new BasicHttpBinding(), |
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
19 new EndpointAddress(config.PostWriterServiceUrl)); |
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
20 } |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
21 |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
22 private static string buildToken(string key, DateTime time) |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
23 { |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
24 var aux = key + time.ToString(CultureInfo.InvariantCulture); |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
25 |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
26 var enc = System.Text.Encoding.ASCII.GetEncoder(); |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
27 |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
28 var data = new byte[aux.Length]; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
29 enc.GetBytes(aux.ToCharArray(), 0, aux.Length, data, 0, true); |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
30 |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
31 var md5 = new MD5CryptoServiceProvider(); |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
32 var result = md5.ComputeHash(data); |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
33 |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
34 return BitConverter.ToString(result).Replace("-", "").ToLower(); |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
35 } |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
36 |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
37 public void WriteBlogPost(string postTitle, string postHtmlContent, string postAuthor, bool setPublicationDate) |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
38 { |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
39 var securityToken = getSecurityToken(); |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
40 _service.WriteBlogPost(securityToken, _config.BlogName, postTitle, postHtmlContent, postAuthor, setPublicationDate); |
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
41 } |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
42 |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
43 private string getSecurityToken() |
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
44 { |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
45 var now = DateTime.UtcNow; |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
46 now = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, 0, 0); |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
47 |
105
1d820f17fc75
ajustes y correcciones en el publicador de blogs
jorge.rowies
parents:
99
diff
changeset
|
48 return buildToken(_config.BlogWriterMasterKey, now); |
99
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
49 } |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
50 } |
3027c64344bd
agregado de llamadas a web service para crear posts en el blog de la comunidad
jorge.rowies
parents:
diff
changeset
|
51 } |