public static RantResponse FromRant(Rant Rant, ReportState ReportState) { var rant = new RantResponse() { Id = Rant.Id, ReportState = ReportState, Text = Rant.Text, }; var timeElapsed = DateTime.Now - Rant.Timestamp; if (timeElapsed.Days >= 365) { rant.Timestamp = string.Format("{0} years ago", Math.Floor(timeElapsed.Days / 365.0)); } else if (timeElapsed.Days >= 1) { rant.Timestamp = string.Format("{0} days ago", timeElapsed.Days); } else if (timeElapsed.Hours >= 1) { rant.Timestamp = string.Format("{0} hours ago", timeElapsed.Hours); } else if (timeElapsed.Minutes >= 1) { rant.Timestamp = string.Format("{0} minutes ago", timeElapsed.Minutes); } else { rant.Timestamp = string.Format("{0} seconds ago", timeElapsed.Seconds); } rant.Tags.AddRange(Rant.Tags.Select(x => x.Text)); return rant; }
public static RantResponse FromRant(Rant Rant, ReportState ReportState) { var rant = new RantResponse() { Id = Rant.Id, ReportState = ReportState, Text = Rant.Text, }; var timeElapsed = DateTime.Now - Rant.Timestamp; if (timeElapsed.Days >= 365) { rant.Timestamp = string.Format("{0} years ago", Math.Floor(timeElapsed.Days / 365.0)); } else if (timeElapsed.Days >= 1) { rant.Timestamp = string.Format("{0} days ago", timeElapsed.Days); } else if (timeElapsed.Hours >= 1) { rant.Timestamp = string.Format("{0} hours ago", timeElapsed.Hours); } else if (timeElapsed.Minutes >= 1) { rant.Timestamp = string.Format("{0} minutes ago", timeElapsed.Minutes); } else { rant.Timestamp = string.Format("{0} seconds ago", timeElapsed.Seconds); } rant.Tags.AddRange(Rant.Tags.Select(x => x.Text)); return(rant); }
public JsonResult PostRant(PostRequest Rant) { try { var rant = new Rant { UserId = CurrentUser.UserId(), Timestamp = DateTime.Now, Text = Rant.Text.ToUpper() }; if (Rant.Tags == null) { return Json(new ApiResponse(false, "At least one tag is required.")); } if (Rant.Tags.Any(t => string.IsNullOrWhiteSpace(t))) { return Json(new ApiResponse(false, "You cannot submit an empty tag.")); } if (string.IsNullOrWhiteSpace(Rant.Text)) { return Json(new ApiResponse(false, "You cannot submit an empty rant.")); } using (var context = new EnrampageEntities()) { context.Tags.AddRange( Rant.Tags.Except(context.Tags.Where(t => !t.User.Banned).Select(t => t.Text)) .Select(t => new Tag { UserId = rant.UserId, Text = t })); context.SaveChanges(); foreach (var tag in Rant.Tags) { rant.Tags.Add(context.Tags.First(t => !t.User.Banned && t.Text == tag)); } context.Rants.Add(rant); context.SaveChanges(); } return Json(new ApiResponse(true, "Posted rant successfully.", RantResponse.FromRant(rant, ReportState.Removable))); } catch (Exception Ex) { LogHelper.Log(Ex); return Json(new ApiResponse(false, "Failed to post rant.")); } }