Пример #1
0
        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);
                    }
                }
            });
        }
Пример #2
0
        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";
            }
        }
Пример #3
0
        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);
 }