public ActionResult edit(Text model) { var text = uow.tc.Texts.Where(d => d.Id == model.Id).FirstOrDefault(); UpdateModel(text); if (ModelState.IsValid) { uow.tc.SaveChanges(); ViewData["readyControl"] = true; return PartialView("_SingleText", text); } else return PartialView("_TextEdit", text); }
public static void PullTextFiles() { try { string filePath = FilePath; string repoPath = RepoPath; if (Directory.Exists(filePath) && Directory.Exists(repoPath)) { logger.Debug("Pulling texts from " + filePath); using (UnitOfWork uow = new UnitOfWork()) { string headSha = GitHelper.GetHeadCommitSha(repoPath); if (uow.tc.Settings.First().HeadSha != headSha) { foreach (var file in Directory.GetFiles(filePath)) { try { string fileData = File.ReadAllText(file); string urlTitle = Path.GetFileNameWithoutExtension(file); Text model = fileData.ToText(); var text = uow.tc.Texts.Where(d => d.UrlTitle == urlTitle).FirstOrDefault(); if (text != null) { text.Posted = model.Posted; text.Title = model.Title; text.Article = model.Article; text.Updated = DateTime.Now; logger.Debug("Updated " + text.Title); } else { Text newText = new Text() { Article = model.Article, Posted = model.Posted, Title = model.Title, UrlTitle = urlTitle, Updated = DateTime.Now }; uow.tc.Texts.Add(newText); logger.Debug("Added " + newText.Title); } } catch (Exception ex) { logger.ErrorException("Failed to update text file " + file, ex); } } uow.tc.Settings.First().HeadSha = headSha; uow.tc.SaveChanges(); logger.Debug("Successfully completed pull"); } else logger.Debug("HEAD is same as last pull"); } } else logger.Debug("Missing TextFiles path or git repo"); } catch (Exception ex) { logger.ErrorException("Failed to update text files", ex); } }
public static Text ToText(this string fileData) { Text text = new Text(); StringReader sr = new StringReader(fileData); sr.ReadLine(); string posted = sr.ReadLine(); string title = sr.ReadLine(); sr.ReadLine(); string article = sr.ReadToEnd(); posted = posted.Replace("Posted: ", ""); text.Posted = DateTime.Parse(posted); text.Title = title.Replace("Title: ", ""); text.Article = article; return text; }