public IEnumerable <TodoDetails> Delete([FromBody] TodoItem item)
        {
            var user = CommonCode.GetCurrentUser(Request);

            if (user.IsAuthenticated)
            {
                Repository.Delete <TodoEntry>(Where.And(Where.EqualLong("OwnerId", user.UserId), Where.EqualLong("Id", item.Id)));
            }

            return(All());
        }
        public IEnumerable <TodoDetails> Create([FromBody] TodoItem item)
        {
            var user = CommonCode.GetCurrentUser(Request);

            if (user.IsAuthenticated && item != null)
            {
                var todoEntry = new TodoEntry()
                {
                    Description = HttpUtility.HtmlEncode(item.Description), IsCompleted = item.IsCompleted, LastUpdated = DateTime.Now, OwnerId = user.UserId
                };
                Repository.SaveOrUpdate(todoEntry);
            }

            return(All());
        }
        public IEnumerable <TodoDetails> Update([FromBody] TodoItem item)
        {
            var user = CommonCode.GetCurrentUser(Request);

            if (user.IsAuthenticated && item != null)
            {
                var todoEntryList = Repository.Select <TodoEntry>(Where.And(Where.EqualLong("OwnerId", user.UserId), Where.EqualLong("Id", item.Id)));
                if (todoEntryList.Count == 1)
                {
                    var todoEntry = todoEntryList[0];

                    todoEntry.IsCompleted = item.IsCompleted;
                    todoEntry.LastUpdated = DateTime.Now;

                    Repository.SaveOrUpdate(todoEntry);
                }
            }

            return(All());
        }
        public IEnumerable <TodoDetails> All()
        {
            var user = CommonCode.GetCurrentUser(Request);

            // No user, return empty list
            if (!user.IsAuthenticated)
            {
                return(new List <TodoDetails>());
            }

            // Would use something like AutoMapper, but this is quicker for now
            return(from todoEntry
                   in Repository.Select <TodoEntry>(Where.EqualLong("OwnerId", user.UserId))
                   select
                   new TodoDetails()
            {
                Id = todoEntry.Id,
                Description = todoEntry.Description,
                IsCompleted = todoEntry.IsCompleted,
                LastUpdatedTicks = CommonCode.ConvertDateToTicks(todoEntry.LastUpdated)
            });
        }
Exemple #5
0
 public UserDetails Current()
 {
     return(CommonCode.GetCurrentUser(Request));
 }