Ejemplo n.º 1
0
 public CommentHub(eIdeasUsersContext context, UserManager <eIdeasUser> userManager, SignInManager <eIdeasUser> signInManager, IdeasContext ideasContext)
 {
     _context       = context;
     _userManager   = userManager;
     _signInManager = signInManager;
     _ideasContext  = ideasContext;
 }
Ejemplo n.º 2
0
 public IEnumerable <Record> GetRecords()
 {
     using (IdeasContext context = new IdeasContext())
     {
         return(context.Records.Include(r => r.Author).OrderBy(r => r.UpdateDate).ToList());
     }
 }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
 public IdeasController(IdeasContext context, eIdeasUsersContext usersContext, UserManager <eIdeasUser> userManager, SignInManager <eIdeasUser> signInManager)
 {
     _context       = context;
     _usersContext  = usersContext;
     _userManager   = userManager;
     _signInManager = signInManager;
 }
Ejemplo n.º 5
0
 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();
        }
Ejemplo n.º 7
0
 public User GetById(int id)
 {
     using (IdeasContext context = new IdeasContext())
     {
         return(context.Users.First(u => u.Id == id));
     }
 }
Ejemplo n.º 8
0
 public User GetByEmail(string email)
 {
     using (IdeasContext context = new IdeasContext())
     {
         return(context.Users.FirstOrDefault(u => u.Email == email));
     }
 }
Ejemplo n.º 9
0
        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;
                }
            }
        }
Ejemplo n.º 10
0
 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());
     }
 }
Ejemplo n.º 11
0
 public void Save(User user)
 {
     using (IdeasContext context = new IdeasContext())
     {
         context.Users.Add(user);
         context.SaveChanges();
     }
 }
Ejemplo n.º 12
0
 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();
     }
 }
Ejemplo n.º 13
0
 public void Update(Record record)
 {
     using (IdeasContext context = new IdeasContext())
     {
         record.UpdateDate           = DateTime.Now;
         context.Entry(record).State = EntityState.Modified;
         context.SaveChanges();
     }
 }
Ejemplo n.º 14
0
 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();
     }
 }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
 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();
     }
 }
Ejemplo n.º 17
0
        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();
        }
Ejemplo n.º 19
0
 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;
     }
 }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
 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);
     }
 }
Ejemplo n.º 22
0
 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);
     }
 }
Ejemplo n.º 23
0
 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);
        }
Ejemplo n.º 25
0
 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);
     }
 }
Ejemplo n.º 26
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 27
0
 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>();
 }
Ejemplo n.º 28
0
        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);
        }
Ejemplo n.º 29
0
        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);
        }
Ejemplo n.º 30
0
        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);
        }