private static void GetDefaultImage(IOctoRepository currentInstance, Action<byte[]> action) { string apiUri = currentInstance.ApiUri; if (!apiUri.EndsWith("/")) { apiUri += "/"; } string defaultUrl = $"{apiUri}{DefaultOctopusUserIconPath}"; HttpWebRequest request = WebRequest.CreateHttp(defaultUrl); DoWithResponse(request, response => { if (response.StatusCode != HttpStatusCode.OK) { return; } using (MemoryStream ms = new MemoryStream()) { using (Stream responseStream = response.GetResponseStream()) { responseStream.CopyTo(ms); byte[] data = ms.ToArray(); action(data); } } }); }
public ProjectFormModel(IOctoRepository octoRepository, Form_Project formProject) { FormId = formProject.Id; FormName = formProject.Name; ChannelId = formProject.ChannelId; ProjectId = formProject.ProjectId; if (!string.IsNullOrWhiteSpace(ChannelId)) { ChannelResource channel = octoRepository.GetChannel(formProject.ChannelId); ChannelName = channel.Name; } else { ChannelName = "All channels"; } }
public static void GetGravatarImage(this UserResource user, IOctoRepository currentInstance, Action<byte[]> action) { MD5 md5Hasher = MD5.Create(); byte[] emailDataBytes = md5Hasher.ComputeHash(Encoding.Default.GetBytes(user.EmailAddress.Trim().ToLower())); StringBuilder sBuilder = new StringBuilder(); for (int i = 0; i < emailDataBytes.Length; i++) { sBuilder.Append(emailDataBytes[i].ToString("x2")); } string gravatarUrl = $"http://www.gravatar.com/avatar/{sBuilder}?s=64&d=404"; HttpWebRequest request = WebRequest.CreateHttp(gravatarUrl); DoWithResponse(request, response => { if (response.StatusCode == HttpStatusCode.NotFound) { GetDefaultImage(currentInstance, action); } else { using (MemoryStream ms = new MemoryStream()) { using (Stream responseStream = response.GetResponseStream()) { responseStream.CopyTo(ms); byte[] data = ms.ToArray(); action(data); } } } }); }
public void SetCurrentInstance(int value) { CurrentInstance = AllInstances.Single(inst => inst.OctopusServerId == value); }