public Memo Get(string userId, int memoId) { TableMemoEntity tableMemo = this.Context.CreateQuery <TableMemoEntity>(this.TableName) .Where( x => x.PartitionKey == userId && x.RowKey == (Int32.MaxValue - memoId).ToString()).FirstOrDefault(); if (tableMemo == null) { throw new MemoNotFoundException(memoId); } if (tableMemo.IsDeleted) { throw new MemoNotFoundException(memoId); } return(Transform(tableMemo)); }
public void Delete(string userId, int memoId) { TableMemoEntity entity = this.Context.CreateQuery <TableMemoEntity>(this.TableName) .Where(x => x.PartitionKey == userId && x.RowKey == (Int32.MaxValue - memoId).ToString()).FirstOrDefault(); if (entity != null && !entity.IsDeleted) { entity.IsDeleted = true; } else { throw new MemoNotFoundException(memoId); } this.Context.UpdateObject(entity); this.Context.SaveChanges(); }
private Memo Transform(TableMemoEntity tableMemo) { return(new Memo() { Id = Int32.MaxValue - Int32.Parse(tableMemo.RowKey), KeywordIds = tableMemo.KeywordIds.ToInt32Array(), Keywords = CBW.NaturalLang.KeywordsExtraction.ExtractUniqueKeywords(tableMemo.RawContent), RawContent = tableMemo.RawContent, UserId = tableMemo.PartitionKey, Latitude = (tableMemo.Latitude == 0) ? null : new double?(tableMemo.Latitude), Longitude = (tableMemo.Longitude == 0) ? null : new double?(tableMemo.Longitude), HasAlarm = tableMemo.HasAlarm, CreatedTime = tableMemo.CreatedTime, RemindTime = tableMemo.RemindTime }); }
public void Update(string userId, Memo memo) { TableMemoEntity entity = this.Context.CreateQuery <TableMemoEntity>(this.TableName) .Where(x => x.PartitionKey == userId && x.RowKey == (Int32.MaxValue - memo.Id).ToString()).FirstOrDefault(); if (entity != null && !entity.IsDeleted) { entity.HasAlarm = memo.HasAlarm; entity.RawContent = memo.RawContent; entity.RemindTime = memo.RemindTime == null ? DateTime.UtcNow : memo.RemindTime.Value; } else { throw new MemoNotFoundException(memo.Id); } this.Context.UpdateObject(entity); this.Context.SaveChanges(); }
public bool TryGet(string userId, int memoId, out Memo memo) { TableMemoEntity tableMemo = this.Context.CreateQuery <TableMemoEntity>(this.TableName) .Where( x => x.PartitionKey == userId && x.RowKey == (Int32.MaxValue - memoId).ToString()).FirstOrDefault(); if (tableMemo == null) { memo = null; return(false); } if (tableMemo.IsDeleted) { memo = null; return(false); } memo = Transform(tableMemo); return(true); }
public void Add(string userId, Memo memo) { TableMemoEntity tableMemo = new TableMemoEntity() { RowKey = (Int32.MaxValue - memo.Id).ToString(), KeywordIds = memo.KeywordIds.GetBytes(), PartitionKey = userId, RawContent = memo.RawContent, Longitude = memo.Longitude == null ? 0 : memo.Longitude.Value, Latitude = memo.Latitude == null ? 0 : memo.Latitude.Value, CreatedTime = memo.CreatedTime, RemindTime = memo.RemindTime == null ? DateTime.UtcNow : memo.RemindTime.Value, HasAlarm = memo.HasAlarm, IsDeleted = false }; this.Context.AddObject(this.TableName, tableMemo); this.Context.SaveChanges(); }