Exemple #1
0
        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));
        }
Exemple #2
0
        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();
        }
Exemple #3
0
 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
     });
 }
Exemple #4
0
        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();
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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();
        }