private static object MapToJSNameConvention(DtoClipboardItem item) { dynamic trimedObject = new ExpandoObject(); trimedObject.uid = item.Uid; trimedObject.createdBy = item.CreatedBy; trimedObject.createdAt = item.CreatedAt; trimedObject.data = item.Data; if (item.HasUpdated == true) { trimedObject.hasUpdated = item.HasUpdated; trimedObject.lastUpdatedBy = item.LastUpdatedBy; trimedObject.lastUpdatedAt = item.LastUpdatedAt; trimedObject.parentUid = item.ParentUid; } return(trimedObject); }
public IHttpActionResult Clipboard([FromBody] PostBody body) { if (body == null) { throw new ArgumentNullException(nameof(body)); } if (string.IsNullOrEmpty(body.Data)) { throw new ArgumentNullException(nameof(body.Data)); } //todo improve this, hard coded as dev session id for now if (!CheckHeaderSession()) { //return Unauthorized(); } var time = body.CreatedAt ?? DateTime.Now; var item = new DtoClipboardItem() { Uid = Guid.NewGuid(), CreatedBy = MapToUserId(Request.Headers.GetValues(Constants.HeaderSessionId).First()), CreatedAt = time, Data = body.Data }; string path = GetFullClipboardDataPath(time); AppendNoteToFile(path, item); string indexPath = GetFullClipboardIndexPath(time); AppendObjectToFile(indexPath, DtoLskjsonIndex.From(item)); return(DtoResultV5.Success(Json, $"{body.Data.Length} characters saved to clipboard.")); }