public long CreateListItem(long listId, [FromBody] ListItem listItem) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { if (listId > 0 && ctx.Lists.Any(l => l.Id == listId)) { if (listItem.Id > 0 && ctx.ListItems.Any(l => l.Id == listItem.Id)) { // update with post not allowed } else { if (listItem.ListItemGroup?.Id > 0) { var listItemGroup = ctx.ListItemGroups.FirstOrDefault(x => x.Id == listItem.ListItemGroup.Id); if (listItemGroup != null) { listItem.ListItemGroup = listItemGroup; } } listItem.List = ctx.Lists.Include("ListItems").Single(l => l.Id == listId); listItem = ctx.ListItems.Add(listItem); } ctx.SaveChanges(); } else { // list does not exist } } return(listItem.Id); }
public long CreateListItemGroup(long listId, [FromBody] ListItemGroup listItemGroup) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { if (listId > 0 && ctx.Lists.Any(l => l.Id == listId)) { if (listItemGroup.Id > 0 && ctx.ListItemGroups.Any(l => l.Id == listItemGroup.Id)) { // update with post not allowed } else { listItemGroup.List = ctx.Lists.Single(l => l.Id == listId); listItemGroup = ctx.ListItemGroups.Add(listItemGroup); } ctx.SaveChanges(); } else { // list does not exist } } return(listItemGroup.Id); }
public long Create(long listId, [FromBody] ListSharing listSharing) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { if (listId > 0 && ctx.Lists.Any(l => l.Id == listId)) { var list = ctx.Lists.Include("ListSharings").First(x => x.Id == listId); if (listSharing?.Id <= 0 && listSharing.User?.Id > 0 && ctx.Users.Any(x => x.Id == listSharing.User.Id)) { var user = ctx.Users.First(x => x.Id == listSharing.User.Id); if (!list.ListSharings.Any(x => x.User.Id == listSharing.User.Id)) { listSharing.List = list; listSharing.User = user; listSharing = ctx.ListSharings.Add(listSharing); } } else { // user does not exist } ctx.SaveChanges(); } else { // list does not exist } } return(listSharing.Id); }
public List GetList(long listId) { Login(); List list; using (var ctx = new Project3Context(AuthenticatedUser)) { list = ctx.Lists.Single(l => l.Id == listId); } return(list); }
public List <ListSharing> GetAll(long listId) { Login(); List <ListSharing> listSharings = new List <ListSharing>(); using (var ctx = new Project3Context(AuthenticatedUser)) { listSharings = ctx.ListSharings.Include("List").Include("User").Where(l => l.List.Id == listId).ToList(); } listSharings.ForEach(x => x.List.ListSharings = null); return(listSharings); }
public IEnumerable <List> GetLists() { Login(); List <List> lists; using (var ctx = new Project3Context(AuthenticatedUser)) { lists = ctx.Lists.Where(l => l.Owner.Id == AuthenticatedUser.Id).ToList(); var sharings = ctx.ListSharings.Include("User").Include("List").ToList().Where(x => x.User == AuthenticatedUser); lists.AddRange(sharings.Select(x => x.List)); } lists.ForEach(x => x.ListSharings = null); return(lists); }
public List <User> GetAll() { Login(); List <User> users = new List <User>(); using (var ctx = new Project3Context(AuthenticatedUser)) { users = ctx.Users.ToList(); } return(users.Select(x => new User() { Id = x.Id, Name = x.Name }).ToList()); }
public List <ListItemGroup> GetListItemGroups(long listId) { Login(); List <ListItemGroup> listItemGroups = new List <ListItemGroup>(); using (var ctx = new Project3Context(AuthenticatedUser)) { var list = ctx.Lists.Include("ListItemGroups").Include("ListItems").FirstOrDefault(l => l.Id == listId); if (list.ListItemGroups != null) { listItemGroups = list.ListItemGroups.ToList(); } } listItemGroups.ForEach(x => x.ListItems.ForEach(y => y.ListItemGroup = null)); return(listItemGroups); }
private User GetUser(VerifiedJwt verifiedJwt) { using (var ctx = new Project3Context(verifiedJwt.Subject)) { if (!ctx.Users.Any(u => u.Subject == verifiedJwt.Subject)) { ctx.Users.Add(new User() { Name = verifiedJwt.EMail, Subject = verifiedJwt.Subject }); ctx.SaveChanges(); } return(ctx.Users.Single(u => u.Subject == verifiedJwt.Subject)); } }
public void DeleteListItem(long listId, long listItemId) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { var list = ctx.Lists.Include("ListItems").FirstOrDefault(l => l.Id == listId); if (list != null && list.ListItems != null) { var listItem = list.ListItems.FirstOrDefault(li => li.Id == listItemId); if (listItem != null) { ctx.ListItems.Remove(listItem); ctx.SaveChanges(); } } } }
public void Delete(long listId, long listSharingId) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { var list = ctx.Lists.Include("ListSharings").FirstOrDefault(l => l.Id == listId); if (list?.ListSharings != null) { var listSharing = list.ListSharings.FirstOrDefault(x => x.Id == listSharingId); if (listSharing != null) { ctx.ListSharings.Remove(listSharing); ctx.SaveChanges(); } } } }
public void UpdateListItemGroup(long listId, long listItemGroupId, [FromBody] ListItemGroup value) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { var list = ctx.Lists.Include("ListItemGroups").FirstOrDefault(l => l.Id == listId); if (list?.ListItemGroups != null) { var listItemGroup = list.ListItemGroups.FirstOrDefault(li => li.Id == listItemGroupId); if (listItemGroup != null) { listItemGroup.Name = value.Name; ctx.SaveChanges(); } } } }
public void UpdateListItem(long listId, long listItemId, [FromBody] ListItem value) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { var list = ctx.Lists.Include("ListItems").FirstOrDefault(l => l.Id == listId); if (list != null && list.ListItems != null) { var listItem = list.ListItems.FirstOrDefault(li => li.Id == listItemId); if (listItem != null) { listItem.Name = value.Name; listItem.IsSelected = value.IsSelected; ctx.SaveChanges(); } } } }
public long PostList([FromBody] List list) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { list.Owner = AuthenticatedUser; if (list.Id > 0 && ctx.Lists.Any(l => l.Id == list.Id)) { // update with post not allowed } else { list = ctx.Lists.Add(list); } ctx.SaveChanges(); } return(list.Id); }
public void DeleteList(long listId) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { var list = ctx.Lists.Include("ListItems").Include("ListItemGroups").FirstOrDefault(l => l.Id == listId); if (list != null) { foreach (var listItem in list.ListItems.ToList()) { ctx.ListItems.Remove(listItem); } foreach (var listItemGroup in list.ListItemGroups.ToList()) { ctx.ListItemGroups.Remove(listItemGroup); } ctx.Lists.Remove(list); ctx.SaveChanges(); } } }
public void PutList(long listId, [FromBody] List value) { Login(); using (var ctx = new Project3Context(AuthenticatedUser)) { var list = ctx.Lists.Include("ListItems").Include("ListItemGroups").FirstOrDefault(l => l.Id == listId); if (list != null) { if (list.IsGroupingEnabled != value.IsGroupingEnabled) { list.IsGroupingEnabled = value.IsGroupingEnabled; if (list.IsGroupingEnabled) { var group = new ListItemGroup { Name = "group" }; foreach (var listItem in list.ListItems) { listItem.ListItemGroup = group; } list.ListItemGroups.Add(group); } else { foreach (var listItemGroup in list.ListItemGroups.ToList()) { ctx.ListItemGroups.Remove(listItemGroup); } } } list.Name = value.Name; ctx.SaveChanges(); } } }
public MoviesController(Project3Context context) { _context = context; }