public CommentHub(eIdeasUsersContext context, UserManager <eIdeasUser> userManager, SignInManager <eIdeasUser> signInManager, IdeasContext ideasContext) { _context = context; _userManager = userManager; _signInManager = signInManager; _ideasContext = ideasContext; }
public IEnumerable <Record> GetRecords() { using (IdeasContext context = new IdeasContext()) { return(context.Records.Include(r => r.Author).OrderBy(r => r.UpdateDate).ToList()); } }
public static async Task Remove(ApplicationUser owner, ListViewModel vm, IdeasContext context, IHostingEnvironment hostingEnviroment) { try { var update = await context.Ideas .Where(r => r.Id == vm.IdeaId && r.Owner == owner) .Select(o => o.Updates .Where(g => g.Id == vm.EditId).Select(x => new Update { Id = x.Id, Text = x.Text, DateTime = x.DateTime, Images = x.Images.Select(z => new Image { Id = z.Id, Name = z.Name, Height = z.Height, Width = z.Width, FileName = z.FileName, OriginName = z.OriginName }).ToList() }).FirstOrDefault()).FirstOrDefaultAsync(); if (update != null) { foreach (Image image in update.Images) { await Image.DeleteFromServer(image.FileName, context, hostingEnviroment); } context.Images.RemoveRange(update.Images); context.Updates.Remove(update); await context.SaveChangesAsync(); } } catch (Exception ex) { ex = ex; } }
public IdeasController(IdeasContext context, eIdeasUsersContext usersContext, UserManager <eIdeasUser> userManager, SignInManager <eIdeasUser> signInManager) { _context = context; _usersContext = usersContext; _userManager = userManager; _signInManager = signInManager; }
public void Delete(int recordId, string removerEmail) { using (IdeasContext context = new IdeasContext()) { Record record = context.Records.Include(r => r.Author).First(r => r.Id == recordId); User remover = context.Users.First(u => u.Email == removerEmail); User author = record.Author; if ((author.Equals(remover) && remover.Type.Equals(UserType.Admin)) || (author.Equals(remover) && record.Status.Equals(RecordStatus.RemovedByAdmin)) || (remover.Type.Equals(UserType.Admin) && record.Status.Equals(RecordStatus.RemovedByUser))) { context.Records.Remove(record); context.SaveChanges(); return; } if (remover.Type.Equals(UserType.User)) { record.Status = RecordStatus.RemovedByUser; } else { record.Status = RecordStatus.RemovedByAdmin; } context.SaveChanges(); } }
public async static void Remove(int id, IdeasContext context, ApplicationUser owner) { var image = context.UnsavedImages.Where(r => r.Id == id && r.Owner == owner).FirstOrDefault(); context.UnsavedImages.Remove(image); await context.SaveChangesAsync(); }
public User GetById(int id) { using (IdeasContext context = new IdeasContext()) { return(context.Users.First(u => u.Id == id)); } }
public User GetByEmail(string email) { using (IdeasContext context = new IdeasContext()) { return(context.Users.FirstOrDefault(u => u.Email == email)); } }
public static async Task PostUpdate(ListViewModel vm, ApplicationUser owner, IdeasContext context, IHostingEnvironment hostingEnvironment) { var idea = await context.Ideas.Include(r => r.Updates).FirstOrDefaultAsync(r => r.Id == vm.IdeaId && r.Owner == owner); if (idea != null) { var AddThis = Image.GetNewAndRemoveOld(vm.EditUpdateViewModel.JsonImagesNew, vm.EditUpdateViewModel.JsonImagesRemove, vm.IdeaId, vm.EditId, owner, hostingEnvironment, context).Result; try { var update = new Update(); update.Text = vm.EditUpdateViewModel.Text.Trim(); update.DateTime = DateTime.Now; if (AddThis != null) { AddThis = UnsavedImage.GetList(AddThis.Select(r => r.FileName).ToList(), context, owner); update.Images = AddThis; UnsavedImage.RemoveList(AddThis.Select(r => r.FileName).ToList(), context, owner); } idea.Updates.Add(update); idea.LatestUpdate = DateTime.Now; Stats.AddUpdate(idea); await context.SaveChangesAsync(); } catch (Exception ex) { ex = ex; } } }
public IEnumerable <Record> GetUserRecords(string authorEmail) { using (IdeasContext context = new IdeasContext()) { return(context.Records.Include(r => r.Author).Where(r => r.Author.Email == authorEmail) .OrderBy(r => r.UpdateDate).ToList()); } }
public void Save(User user) { using (IdeasContext context = new IdeasContext()) { context.Users.Add(user); context.SaveChanges(); } }
public void ConfirmDeletion(int recordId) { using (IdeasContext context = new IdeasContext()) { Record record = context.Records.First(r => r.Id == recordId); context.Records.Remove(record); context.SaveChanges(); } }
public void Update(Record record) { using (IdeasContext context = new IdeasContext()) { record.UpdateDate = DateTime.Now; context.Entry(record).State = EntityState.Modified; context.SaveChanges(); } }
public void Save(Record record, string authorEmail) { using (IdeasContext context = new IdeasContext()) { User user = context.Users.FirstOrDefault(u => u.Email == authorEmail); user.Records.Add(record); context.SaveChanges(); } }
public static List <IdeaEx> IdeaList(ApplicationUser owner, IdeasContext context, int skip, int take = 5) { var ideaEx = default(List <IdeaEx>); try { //context.ApplicationUsers.Where(s => pr.Owner.Id == s.Id).Select(r => new AppUser { Id = r.Id, UserName = r.UserName, Image = r.Image, Joined = r.Created, Description = r.Description, UserStats = r.UserStats }).FirstOrDefault(), var ideas = context.Ideas .Select(pr => new Idea { Id = pr.Id, Owner = new AppUser { Id = pr.Owner.Id, UserName = pr.Owner.UserName, Image = context.Images.FirstOrDefault(r => r.Id == pr.Owner.ImageId) }, Titel = pr.Titel, Text = pr.Text, Stats = pr.Stats, DateTime = pr.DateTime, LatestUpdate = pr.LatestUpdate, Favorites = pr.Favorites.Select(r => new Favorite { Owner = r.Owner }).ToList(), Updates = pr.Updates.OrderBy(r => r.DateTime).Select(r => new Update { Id = r.Id, Text = r.Text, DateTime = r.DateTime, Images = r.Images }).ToList(), Comments = pr.Comments.OrderByDescending(r => r.DateTime) .Select(r => new Comment { Id = r.Id, Owner = new AppUser { UserName = r.Owner.UserName, Image = context.Images.FirstOrDefault(x => x.Id == r.Owner.ImageId) }, Text = r.Text, DateTime = r.DateTime, IsOwner = ((((owner != null)) && (owner.Id == r.Owner.Id)) ? true : false) }) .ToList(), Images = pr.Images, Tags = pr.Tags } ) .OrderByDescending(r => ((r.LatestUpdate >= r.DateTime) ? r.LatestUpdate : r.DateTime)) .Skip(skip) .Take(take) .ToList(); ideaEx = ideas.Select(r => new IdeaEx { Idea = r, AddedToFavorites = r.Favorites.Any(a => a.Owner == owner), Authorized = ((owner == null) ? false : true), IsOwner = ((((owner != null)) && (owner.Id == r.Owner.Id)) ? true : false) }).ToList(); } catch (Exception ex) { ex = ex; } return(ideaEx); }
public void RestoreRecord(int recordId) { using (IdeasContext context = new IdeasContext()) { Record record = context.Records.First(r => r.Id == recordId); record.Status = RecordStatus.Normal; context.SaveChanges(); } }
public static async Task UpdateIdea(ListViewModel vm, ApplicationUser owner, IdeasContext context, IHostingEnvironment hostingEnvironment) { var idea = context.Ideas.Include(r => r.Tags).FirstOrDefault(r => r.Id == vm.IdeaId && r.Owner == owner); if (idea != null) { var jsonRemove = ((vm.EditIdeaViewModel.JsonImagesRemove != null) ? JsonConvert.DeserializeObject <List <Image> >(vm.EditIdeaViewModel.JsonImagesRemove) : null); var jsonNew = ((vm.EditIdeaViewModel.JsonImagesNew != null) ? JsonConvert.DeserializeObject <List <Image> >(vm.EditIdeaViewModel.JsonImagesNew) : null); var AddThis = cleanUnSavedImage(jsonNew, jsonRemove, owner, context, hostingEnvironment).Result; finishRemoveList(vm.IdeaId, jsonRemove, context, hostingEnvironment); try { var jsonTagsRemove = ((vm.EditIdeaViewModel.JsonTagsRemove != null) ? JsonConvert.DeserializeObject <List <Tag> >(vm.EditIdeaViewModel.JsonTagsRemove) : null); var jsonTagsNew = ((vm.EditIdeaViewModel.JsonTags != null) ? JsonConvert.DeserializeObject <List <Tag> >(vm.EditIdeaViewModel.JsonTags) : null); idea.Text = vm.EditIdeaViewModel.Text.Trim(); idea.Titel = vm.EditIdeaViewModel.Titel.Trim(); if (jsonTagsRemove != null) { var remove = context.Tags.Where(r => jsonTagsRemove.Any(x => x.Value == r.Value)).ToList(); idea.Tags.RemoveAll(r => remove.Any(s => s.Value == r.Value)); } if (jsonTagsNew != null) { if (idea.Tags != null && idea.Tags.Count > 0) { jsonTagsNew = jsonTagsNew.Where(r => !idea.Tags.Any(a => r.Value == a.Value)).ToList(); idea.Tags.AddRange(jsonTagsNew); } else { idea.Tags = jsonTagsNew; } } if (AddThis != null) { AddThis = UnsavedImage.GetList(AddThis.Select(r => r.FileName).ToList(), context, owner); if (idea.Images != null) { foreach (Image image in AddThis) { idea.Images.Add(image); } } else { idea.Images = AddThis; } UnsavedImage.RemoveList(AddThis.Select(r => r.FileName).ToList(), context, owner); } await context.SaveChangesAsync(); } catch (Exception ex) { ex = ex; } } }
public async static void RemoveList(List <string> filenames, IdeasContext context, ApplicationUser owner) { var list = context.UnsavedImages.Where(r => filenames.Any(x => x == r.FileName) && r.Owner == owner).ToList(); foreach (UnsavedImage unsaved in list) { context.UnsavedImages.Remove(unsaved); } await context.SaveChangesAsync(); }
public static async void Post(Tag tag, IdeasContext context) { try { tag.DateTime = DateTime.Now; context.Tags.Add(tag); await context.SaveChangesAsync(); } catch (Exception ex) { ex = ex; } }
public static bool Remove(int id, ApplicationUser owner, IdeasContext context) { var comment = context.Comments.FirstOrDefault(r => r.Id == id && r.Owner == owner); if (comment != null) { context.Comments.Remove(comment); return(true); } return(false); }
public static void RemoveComment(ApplicationUser user, IdeasContext context) { if (user.UserStats == null) { user = context.ApplicationUsers.Include(r => r.UserStats).Where(r => r.Id == user.Id).FirstOrDefault(); } if (user.UserStats != null && user.UserStats.Comments > 0) { user.UserStats.Comments = (user.UserStats.Comments - 1); } }
public static void RemoveFavorited(ApplicationUser user, IdeasContext context, int amount) { if (user.UserStats == null) { user = context.ApplicationUsers.Include(r => r.UserStats).Where(r => r.Id == user.Id).FirstOrDefault(); } if (user.UserStats != null && (user.UserStats.Favorited - amount) >= 0) { user.UserStats.Favorited = (user.UserStats.Favorited - amount); } }
public static async void PostList(List <Tag> tags, IdeasContext context) { try { // context.Tags.Where(t => tags.Any(x => x.Value == t.Value) && idea.Id == t.idea )).ToList(); foreach (Tag tag in tags) { tag.DateTime = DateTime.Now; context.Tags.Add(tag); } await context.SaveChangesAsync(); } catch (Exception ex) { ex = ex; } }
public static List <Image> GetList(List <string> filenames, IdeasContext context, ApplicationUser owner) { var unsavedimages = context.UnsavedImages.Where(r => filenames.Any(x => x == r.FileName) && r.Owner == owner) .Select(r => new Image { Height = r.Height, Width = r.Width, Length = r.Length, OriginName = r.OriginName, FileName = r.FileName, ContentType = r.ContentType, ContentDisposition = r.ContentDisposition, DateTime = r.DateTime, Name = r.Name }).ToList(); return(unsavedimages); }
public static void AddFavorite(ApplicationUser user, IdeasContext context) { if (user.UserStats == null) { user = context.ApplicationUsers.Include(r => r.UserStats).Where(r => r.Id == user.Id).FirstOrDefault(); } if (user.UserStats == null) { user.UserStats = new UserStats { Favorites = 1 }; } else { user.UserStats.Favorites = (user.UserStats.Favorites + 1); } }
private static async void finishRemoveList(int id, List <Image> jsonRemove, IdeasContext context, IHostingEnvironment hostingEnvironment) { if (jsonRemove != null) { var idea = context.Ideas.Include(r => r.Images).Where(r => r.Id == id).FirstOrDefault(); var removelist = idea.Images.Where(r => jsonRemove.Any(x => x.FileName == r.FileName)).ToList(); foreach (Image image in removelist) { var delete = await Image.DeleteFromDb(image.FileName, context); if (delete) { await Image.DeleteFromServer(image.FileName, context, hostingEnvironment); } } } }
public AccountController( UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IHostingEnvironment hostingEnvironment, IdeasContext context, IEmailSender emailSender, ISmsSender smsSender, ILoggerFactory loggerFactory) { this.context = context; this.hostingEnvironment = hostingEnvironment; _userManager = userManager; _signInManager = signInManager; _emailSender = emailSender; _smsSender = smsSender; _logger = loggerFactory.CreateLogger <AccountController>(); }
public static AppUser GetByUserName(string name, IdeasContext context) { var appUser = context.ApplicationUsers .Include(r => r.Image) .Include(r => r.UserStats) .Where(r => r.NormalizedUserName == name.ToUpper()) .Select(r => new AppUser { Id = r.Id, UserName = r.UserName, Image = r.Image, Joined = r.Created, Description = r.Description, UserStats = r.UserStats }) .FirstOrDefault(); if (appUser.UserStats == null) { appUser.UserStats = new UserStats(); } return(appUser); }
public static IdeaEx IdeaByIdAndOwner(int ideaId, ApplicationUser owner, IdeasContext context) { var idea = context.Ideas .Where(r => r.Id == ideaId && r.Owner == owner) .Select(pr => new Idea { Id = pr.Id, Owner = new AppUser { Id = pr.Owner.Id, UserName = pr.Owner.UserName, Image = context.Images.FirstOrDefault(r => r.Id == pr.Owner.ImageId), Joined = pr.Owner.Created, Description = pr.Owner.Description, UserStats = context.UserStats.FirstOrDefault(r => r.Id == pr.Owner.UserStatsId) }, Titel = pr.Titel, Text = pr.Text, Stats = pr.Stats, DateTime = pr.DateTime, LatestUpdate = pr.LatestUpdate, Favorites = pr.Favorites.Select(r => new Favorite { Owner = r.Owner }).ToList(), Updates = pr.Updates.OrderBy(r => r.DateTime).Select(r => new Update { Id = r.Id, Text = r.Text, DateTime = r.DateTime, Images = r.Images }).ToList(), Comments = pr.Comments.OrderBy(r => r.DateTime) .Select(r => new Comment { Owner = new AppUser { UserName = r.Owner.UserName, Image = context.Images.FirstOrDefault(x => x.Id == r.Owner.ImageId), Joined = r.Owner.Created, Description = r.Owner.Description, UserStats = context.UserStats.FirstOrDefault(x => x.Id == r.Owner.UserStatsId) }, Text = r.Text, DateTime = r.DateTime }) .ToList(), Images = pr.Images.Select(r => new Image { Id = r.Id, FileName = r.FileName, Height = r.Height, Width = r.Width, OriginName = r.OriginName, DateTime = r.DateTime }).ToList(), Tags = pr.Tags } ).FirstOrDefault(); var ideaEx = new IdeaEx { Idea = idea, AddedToFavorites = idea.Favorites.Any(a => a.Owner == owner), Authorized = ((owner == null) ? false : true), IsOwner = ((owner.Id == idea.Owner.Id) ? true : false) }; return(ideaEx); }
public static Favorite Add(Idea idea, ApplicationUser owner, IdeasContext context) { var favorite = default(Favorite); try { if (idea != null) { favorite = new Favorite { Idea = idea, DateTime = DateTime.Now, Owner = owner }; Stats.AddFavorite(idea); context.Favorites.Add(favorite); } } catch (Exception ex) { var exs = ex; } return(favorite); }