Skip to content

Commit

Permalink
Fixed merge problems
Browse files Browse the repository at this point in the history
  • Loading branch information
chaliy committed Nov 22, 2011
1 parent f6a6d3a commit 5cffd6c
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 53 deletions.
86 changes: 43 additions & 43 deletions src/WebSite/App/Speakers/SpeakerProvider.cs
@@ -1,50 +1,50 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Yaml.Serialization;
using WebSite.Extensions;

namespace WebSite.App.Speakers
{
public class SpeakerProvider : IEnumerable<Speaker>
{
private readonly List<Speaker> _speakers = new List<Speaker>();

public SpeakerProvider(DirectoryInfo dataFolder)
{
var serializer = new YamlSerializer();
var profiles = dataFolder.GetFiles("*.yaml");
foreach (var profileFile in profiles)
{
using (var reader = profileFile.OpenRead())
{
using WebSite.Extensions;

namespace WebSite.App.Speakers
{
public class SpeakerProvider : IEnumerable<Speaker>
{
private readonly List<Speaker> _speakers = new List<Speaker>();

public SpeakerProvider(DirectoryInfo dataFolder)
{
var serializer = new YamlSerializer();
var profiles = dataFolder.GetFiles("*.yaml");
foreach (var profileFile in profiles)
{
using (var reader = profileFile.OpenRead())
{
var speaker = (Speaker)serializer.Deserialize(reader, typeof(Speaker))[0];
speaker.Id = profileFile.Name.SkipExtension(profileFile.Extension);
if (string.IsNullOrEmpty(speaker.Avatar))
{
speaker.Avatar = speaker.Email.ToGravatarLink();
}

_speakers.Add(speaker);
}
}
_speakers.Sort((x, y) => x.FullName.CompareTo(y.FullName));
}

public IEnumerator<Speaker> GetEnumerator()
{
return _speakers.GetEnumerator();
}

System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}

public Speaker Get(string id)
{
return this.First(x => x.Id == id);
}
}
}

_speakers.Add(speaker);
}
}
_speakers.Sort((x, y) => x.FullName.CompareTo(y.FullName));
}

public IEnumerator<Speaker> GetEnumerator()
{
return _speakers.GetEnumerator();
}

System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}

public Speaker Get(string id)
{
return this.First(x => x.Id == id);
}
}
}
27 changes: 17 additions & 10 deletions src/WebSite/Extensions/StringExtensions.cs
Expand Up @@ -4,20 +4,27 @@
using System.Web;
using System.Text;

namespace WebSite.Extensions {
public static class StringExtensions {
public static string ToMd5(this string input) {
using (var crypter = System.Security.Cryptography.MD5.Create()) {
return string.Join("", crypter.ComputeHash(Encoding.Default.GetBytes(input)).Select(byt => byt.ToString("x2")));
}
namespace WebSite.Extensions
{
public static class StringExtensions
{
public static string SkipExtension(this string input, string extension)
{
return input.Substring(0, input.IndexOf(extension));
}

public static string SkipExtension(this string input, string extension) {
return input.Substring(0, input.IndexOf(extension));
public static string ToGravatarLink(this string email)
{
return string.Format("http://www.gravatar.com/avatar/{0}?s=60", email.ToMd5());
}

public static string ToGravatarLink(this string input) {
return string.Format("http://www.gravatar.com/avatar/{0}?s=60", input.ToMd5());
private static string ToMd5(this string input)
{
using (var crypter = System.Security.Cryptography.MD5.Create())
{
var encodedBytes = crypter.ComputeHash(Encoding.Default.GetBytes(input));
return BitConverter.ToString(encodedBytes);
}
}
}
}
1 change: 1 addition & 0 deletions src/WebSite/WebSite.csproj
Expand Up @@ -86,6 +86,7 @@
<Compile Include="Controllers\Speakers\SpeakerDetails.cs" />
<Compile Include="Controllers\Speakers\SpeakersController.cs" />
<Compile Include="Controllers\Speakers\SpeakersIndex.cs" />
<Compile Include="Extensions\StringExtensions.cs" />
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
Expand Down

0 comments on commit 5cffd6c

Please sign in to comment.