public ActionResult EditStory(StoryViewModel model, int[] selectedItems) { StoryDetail detail = model.ConvertToStoryDetail(); int[] items = selectedItems; if (selectedItems == null) { items = new int[0]; } if (model.Title == null)//Invalid Model State, dirty approach { model.AllGroups = new GroupViewModel[0]; TaskResult <IEnumerable <GroupDetail> > groupDetailRequest = groupDataService.GetGroups(new DataRequest { StartPosition = 0, Count = 100 }); if (groupDetailRequest.Data != null) { model.AllGroups = groupDetailRequest.Data.Select(a => a.ConvertToGroupViewModel()); } return(View(model)); } detail.GroupDetails = items.Select(a => new GroupDetail { Id = a }); storyDataService.PostStory(detail); return(RedirectToAction("Index")); }
public static StoryViewModel ConvertToStoryViewModel(this StoryDetail model) { return(new StoryViewModel { Content = model.Content, Description = model.Description, GroupDetails = model.GroupDetails.Select(a => a.ConvertToGroupViewModel()).AsEnumerable(), Id = model.Id, PostedOn = model.PostedOn, Title = model.Title, UserId = model.UserId }); }
void detail_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { try { StoryDetail s = sender as StoryDetail; s.PropertyChanged -= detail_PropertyChanged; ProgressBar.Visibility = Visibility.Collapsed; DataContext = s.Detail; CommentViewer.NavigateToString(CoreServices.Instance.AddCommentHTML(s.Detail.body)); CommentViewer.Navigating += new EventHandler <NavigatingEventArgs>(ContentText_Navigating); CommentFooter.Visibility = Visibility.Visible; shouldStartWebBrowser = true; } catch { } }
public TaskResult <bool> SaveStory(StoryDetail story) { TaskResult <bool> result = null; try { if (story.Id == null)//new { Story storyEntity = new Story { Content = story.Content, DateCreated = DateTime.Now, Description = story.Description, Title = story.Title, UserId = story.UserId.Value }; _storyRepository.Insert(storyEntity); //_storyRepository.SaveChanges(); _storyRepository.AddStoryToGroups(storyEntity, story.GroupDetails.Select(a => a.Id.Value).AsEnumerable()); _storyRepository.SaveChanges(); } else { Story _story = _storyRepository.GetSingle(a => a.Id == story.Id); _story.Description = story.Description; _story.Title = story.Title; _story.Content = story.Content; _story.DateModified = DateTime.Now; IEnumerable <Group> groups = _story.Groups.ToList(); foreach (var gr in groups) { _story.Groups.Remove(gr); } _storyRepository.Update(_story); _storyRepository.SaveChanges(); _storyRepository.AddStoryToGroups(_story, story.GroupDetails.Select(a => a.Id.Value).AsEnumerable()); _storyRepository.SaveChanges(); } result = new TaskResult <bool> { Data = true, state = StatusState.DoneState }; } catch (Exception e) { result = new TaskResult <bool> { Data = false, state = StatusState.CancelState }; } return(result); }
public StoryDetail GetStoryDetail(int id, ref bool create) { foreach (StoryDetail s in _storyDetails) { if (s.Detail.id == id) { create = false; return(s); } } StoryDetail sd = new StoryDetail(id); _storyDetails.Add(sd); create = true; return(sd); }
TaskResult <bool> IStoryDataService.PostStory(StoryDetail story) { TaskResult <bool> result; HttpClient client = GetHTTPClient(); var content = new ObjectContent(typeof(StoryDetail), story, new JsonMediaTypeFormatter()); HttpResponseMessage response = client.PostAsync("api/Story/PostStory", content).Result; if (response.IsSuccessStatusCode) { result = response.Content.ReadAsAsync <TaskResult <bool> >().Result; } else { result = new TaskResult <bool> { state = StatusState.CancelState, Data = false }; } return(result); }
public ActionResult Create(StoryViewModel model, int[] selectedItems) { if (model.Title == null)//Invalid Model State, dirty approach { return(View(model)); } int[] items = selectedItems; if (selectedItems == null) { items = new int[0]; } StoryDetail detail = model.ConvertToStoryDetail(); detail.UserId = UserDetails.Id; detail.GroupDetails = items.Select(a => new GroupDetail { Id = a }); storyDataService.PostStory(detail); return(RedirectToAction("Index")); }
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { string sStory; if (NavigationContext.QueryString.TryGetValue("Story", out sStory)) { _story = int.Parse(sStory); } bool create = false; StoryDetail detail = CoreServices.Instance.GetStoryDetail(_story, ref create); if (create) { ProgressBar.Visibility = Visibility.Visible; detail.PropertyChanged += detail_PropertyChanged; } else { DataContext = detail.Detail; Loaded += new RoutedEventHandler(StoryPage_Loaded); } base.OnNavigatedTo(e); }
public TaskResult <bool> PostStory([FromBody] StoryDetail story) { return(_storyManager.SaveStory(story)); }
public void AddVideo(string videoName, string filePath) { StoryDetail storyDetail = new StoryDetail(videoName, filePath, "Video"); storyDetails.Add(videoName, storyDetail); }
public void AddPhoto(string photoName, string filePath) { StoryDetail storyDetail = new StoryDetail(photoName, filePath, "Photo"); storyDetails.Add(photoName, storyDetail); }