コード例 #1
0
        public EditGistController(GistModel gist)
            : base(true)
        {
            Title         = "Edit Gist";
            Style         = UITableViewStyle.Grouped;
            _originalGist = gist;

            NavigationItem.LeftBarButtonItem  = new UIBarButtonItem(Theme.CurrentTheme.CancelButton, UIBarButtonItemStyle.Plain, (s, e) => Discard());
            NavigationItem.RightBarButtonItem = new UIBarButtonItem(Theme.CurrentTheme.SaveButton, UIBarButtonItemStyle.Plain, (s, e) => Save());

            _model             = new GistEditModel();
            _model.Description = gist.Description;
            _model.Files       = new Dictionary <string, GistEditModel.File>();

            if (gist.Files != null)
            {
                foreach (var f in gist.Files)
                {
                    _model.Files.Add(f.Key, new GistEditModel.File()
                    {
                        Content = f.Value.Content
                    });
                }
            }
        }
コード例 #2
0
        public EditGistController(GistModel gist)
            : base(true)
        {
            Title         = "Edit Gist";
            Style         = UITableViewStyle.Grouped;
            _originalGist = gist;

            NavigationItem.LeftBarButtonItem  = new UIBarButtonItem(NavigationButton.Create(Images.Buttons.Cancel, Discard));
            NavigationItem.RightBarButtonItem = new UIBarButtonItem(NavigationButton.Create(Images.Buttons.Save, Save));

            _model             = new GistEditModel();
            _model.Description = gist.Description;
            _model.Files       = new Dictionary <string, GistEditModel.File>();

            if (gist.Files != null)
            {
                foreach (var f in gist.Files)
                {
                    _model.Files.Add(f.Key, new GistEditModel.File()
                    {
                        Content = f.Value.Content
                    });
                }
            }
        }
コード例 #3
0
        public GitHubRequest <GistModel> EditGist(GistEditModel gist)
        {
            var obj = new Dictionary <string, object>();

            obj.Add("description", gist.Description);

            var files = new Dictionary <string, object>();

            obj.Add("files", files);

            if (gist.Files != null)
            {
                foreach (var f in gist.Files.Keys)
                {
                    if (gist.Files[f] == null)
                    {
                        files.Add(f, null);
                    }
                    else
                    {
                        var content = new Dictionary <string, object>();
                        files.Add(f, content);
                        content.Add("content", gist.Files[f].Content);

                        if (gist.Files[f].Filename != null)
                        {
                            content.Add("filename", gist.Files[f].Filename);
                        }
                    }
                }
            }

            return(GitHubRequest.Patch <GistModel>(Uri, obj));
        }
コード例 #4
0
        public EditGistController(GistModel gist)
            : base(true)
        {
            Title = "Edit Gist";
            Style = UITableViewStyle.Grouped;
            _originalGist = gist;

            NavigationItem.LeftBarButtonItem = new UIBarButtonItem (NavigationButton.Create(Images.Buttons.Cancel, Discard));
            NavigationItem.RightBarButtonItem = new UIBarButtonItem(NavigationButton.Create(Images.Buttons.Save, Save));

            _model = new GistEditModel();
            _model.Description = gist.Description;
            _model.Files = new Dictionary<string, GistEditModel.File>();

            if (gist.Files != null)
                foreach (var f in gist.Files)
                    _model.Files.Add(f.Key, new GistEditModel.File() { Content = f.Value.Content });
        }
コード例 #5
0
ファイル: EditGistController.cs プロジェクト: GirliOS/CodeHub
        public EditGistController(GistModel gist)
            : base(true)
        {
            Title = "Edit Gist";
            Style = UITableViewStyle.Grouped;
            _originalGist = gist;

            NavigationItem.LeftBarButtonItem = new UIBarButtonItem (Theme.CurrentTheme.CancelButton, UIBarButtonItemStyle.Plain, (s, e) => Discard());
            NavigationItem.RightBarButtonItem = new UIBarButtonItem(Theme.CurrentTheme.SaveButton, UIBarButtonItemStyle.Plain, (s, e) => Save());

            _model = new GistEditModel();
            _model.Description = gist.Description;
            _model.Files = new Dictionary<string, GistEditModel.File>();

            if (gist.Files != null)
                foreach (var f in gist.Files)
                    _model.Files.Add(f.Key, new GistEditModel.File() { Content = f.Value.Content });
        }
コード例 #6
0
ファイル: GistEditViewModel.cs プロジェクト: zdd910/CodeHub
        protected override async System.Threading.Tasks.Task<GistModel> SaveGist()
        {
            if (Gist == null)
                throw new InvalidOperationException("Missing Gist context to update!");

            // We need to null out values that existed before but are not present in the update.
            var files = Gist.Files.ToDictionary(x => x.Key, x => (string)null);
            foreach (var file in Files)
                files[file.Name] = file.Content;

            var editGist = new GistEditModel
            {
                Description = Description ?? string.Empty,
                Files = files.ToDictionary(x => x.Key, x => new GistEditModel.File { Content = x.Value })
            };

            var request = _sessionService.Client.Gists[Gist.Id].EditGist(editGist);
            using (_alertDialogFactory.Activate("Updating Gist..."))
                return (await _sessionService.Client.ExecuteAsync(request)).Data;
        }
コード例 #7
0
        public EditGistController(GistModel gist)
            : base(UITableViewStyle.Grouped, true)
        {
            Title         = "Edit Gist";
            _originalGist = gist;

            _model             = new GistEditModel();
            _model.Description = gist.Description;
            _model.Files       = new Dictionary <string, GistEditModel.File>();

            if (gist.Files != null)
            {
                foreach (var f in gist.Files)
                {
                    _model.Files.Add(f.Key, new GistEditModel.File()
                    {
                        Content = f.Value.Content
                    });
                }
            }
        }
コード例 #8
0
ファイル: GistViewModel.cs プロジェクト: unhappy224/CodeHub
        public async Task Edit(GistEditModel editModel)
        {
			var response = await _applicationService.Client.ExecuteAsync(_applicationService.Client.Gists[Id].EditGist(editModel));
            Gist = response.Data;
        }
コード例 #9
0
        public async Task Edit(GistEditModel editModel)
        {
            var response = await this.GetApplication().Client.ExecuteAsync(this.GetApplication().Client.Gists[Id].EditGist(editModel));

            Gist = response.Data;
        }
コード例 #10
0
ファイル: GistViewModel.cs プロジェクト: iOSAppList/CodeHub
        public async Task Edit(GistEditModel editModel)
        {
            var response = await _applicationService.Client.ExecuteAsync(_applicationService.Client.Gists[Id].EditGist(editModel));

            Gist = response.Data;
        }
コード例 #11
0
ファイル: GistViewModel.cs プロジェクト: nghialv/CodeHub
        public async Task Edit(GistEditModel editModel)
        {
			var response = await this.GetApplication().Client.ExecuteAsync(this.GetApplication().Client.Gists[Id].EditGist(editModel));
            Gist = response.Data;
        }
コード例 #12
0
            public FileElement(string name, string key, GistEditModel.File file)
                : base(name, String.Empty, UITableViewCellStyle.Subtitle)
            {
                File = file;
                Key = key;
                Accessory = UITableViewCellAccessory.DisclosureIndicator;

                if (file.Content != null)
                    Value = System.Text.ASCIIEncoding.UTF8.GetByteCount(file.Content) + " bytes";
            }