public IHttpResponse Index() { var user = this.Db.Users.FirstOrDefault(x => x.Username == this.User.Username); if (user == null) { return(this.View()); } else { var viewModel = new LoggedInIndexViewModel { Role = user.Role.ToString() }; viewModel.Tasks = this.Db.Tasks.Where(x => x.IsReported == false).Select(x => new IndexListOfTasks { Id = x.Id, Title = x.Title, Level = x.AffectedSectors.Count }).ToList(); return(this.View("/Home/LoggedInIndex", viewModel)); } }
public IHttpResponse Index() { var user = this.Db.Users.FirstOrDefault(x => x.Username == this.User.Username); if (user != null) { var viewModel = new LoggedInIndexViewModel(); viewModel.YourChannels = this.Db .Channels.Where(x => x.Followers.Any(f => f.User.Username == this.User.Username)) .Select(x => new BaseChannelViewModel { Id = x.Id, Type = x.Type, Name = x.Name, FollowersCount = x.Followers.Count(), }).ToList(); var followedChannelsTags = this.Db .Channels.Where(x => x.Followers.Any(f => f.User.Username == this.User.Username)) .SelectMany(x => x.Tags.Select(t => t.TagId)) .ToList(); viewModel.SuggestedChannels = this.Db .Channels.Where(x => !x.Followers.Any(f => f.User.Username == this.User.Username) && x.Tags.Any(t => followedChannelsTags.Contains(t.TagId))) .Select(x => new BaseChannelViewModel { Id = x.Id, Type = x.Type, Name = x.Name, FollowersCount = x.Followers.Count(), }).ToList(); var ids = viewModel.YourChannels.Select(x => x.Id).ToList(); ids = ids.Concat(viewModel.SuggestedChannels.Select(x => x.Id)).ToList(); ids = ids.Distinct().ToList(); viewModel.SeeOtherChannels = this.Db .Channels.Where(x => !ids.Contains(x.Id)) .Select(x => new BaseChannelViewModel { Id = x.Id, Type = x.Type, Name = x.Name, FollowersCount = x.Followers.Count(), }).ToList(); return(this.View("Home/LoggedIn-Index", viewModel)); } else { return(this.View()); } }
public IHttpResponse Index() { if (this.User.IsLoggedIn) { var model = new LoggedInIndexViewModel(); model.UserRole = this.User.Role.ToString(); model.YourChannels = this.Context.Channels .Where(x => x.Followers.Any(f => f.User.Username == this.User.Username)) .Select(x => new BaseChannelViewModel { Id = x.Id, Type = x.Type, Name = x.Name, FollowersCount = x.Followers.Count() }).ToList(); var followedChannelsTags = this.Context.Channels .Where(x => x.Followers.Any(f => f.User.Username == this.User.Username)) .SelectMany(x => x.Tags.Select(t => t.TagId)).ToList(); model.SuggestedChannels = this.Context.Channels .Where(x => !x.Followers .Any(f => f.User.Username == this.User.Username) && x.Tags.Any(t => followedChannelsTags.Contains(t.TagId))) .Select(x => new BaseChannelViewModel { Id = x.Id, Type = x.Type, Name = x.Name, FollowersCount = x.Followers.Count() }).ToList(); var ids = model.YourChannels.Select(x => x.Id).ToList(); ids = ids.Concat(model.SuggestedChannels.Select(x => x.Id)).ToList(); ids = ids.Distinct().ToList(); model.SeeOtherChannels = this.Context.Channels .Where(x => !ids.Contains(x.Id)) .Select(x => new BaseChannelViewModel { Id = x.Id, Type = x.Type, Name = x.Name, FollowersCount = x.Followers.Count() }).ToList(); return(this.View("Home/IndexLoggedIn", model)); } return(this.View("Home/Index")); }
public IHttpResponse Index() { if (this.User != null) { var viewModel = new LoggedInIndexViewModel(); viewModel.UserRole = this.User.Roles.ToString(); viewModel.YouChannels = this.Db.Channels.Where(x => x.Followers.Any(f => f.User.Username == this.User.Username)) .Select(t => new BaseChannelViewModels() { Id = t.Id, Name = t.Name, Type = t.ChannelType, FollowersCount = t.Followers.Count() }).ToList(); var followedChanelsTags = Db.Channels .Where(x => x.Followers.Any(f => f.User.Username == this.User.Username)) .SelectMany(x => x.Tags.Select(t => t.Id)).ToList(); var suggestedChannels = this.Db.Channels.Where( x => x.Followers.All(f => f.User.Username != this.User.Username) && x.Tags.Any(t => followedChanelsTags.Contains(t.Id))) .Select(t => new BaseChannelViewModels() { Id = t.Id, Name = t.Name, Type = t.ChannelType, FollowersCount = t.Followers.Count() }).ToList(); var ids = viewModel.YouChannels.Select(x => x.Id).ToList(); ids = ids.Concat(viewModel.SuggestedChannels.Select(x => x.Id).ToList()) as List <int>; ids = ids.Distinct().ToList(); viewModel.SeeOtherChannels = this.Db.Channels.Where(x => !ids.Contains(x.Id)) .Select(t => new BaseChannelViewModels() { Id = t.Id, Name = t.Name, Type = t.ChannelType, FollowersCount = t.Followers.Count() }).ToList(); return(this.View(viewModel, "LoggedInIndex")); } return(this.View()); }
public IHttpResponse Index() { if (this.User.IsLoggedIn) { var user = this.Db.Users.FirstOrDefault(x => x.Username == this.User.Username); if (user != null) { var viewModel = new LoggedInIndexViewModel(); viewModel.YourPending = this.Db.Packages.Where( x => x.Status == PackageStatus.Pending && x.Recipient.Id == user.Id) .Select(x => new BasePackageViewModel { Id = x.Id, Name = x.Description, Status = x.Status.ToString(), }).ToList(); viewModel.YourShipped = this.Db.Packages.Where( x => x.Status == PackageStatus.Shipped && x.Recipient.Id == user.Id) .Select(x => new BasePackageViewModel { Id = x.Id, Name = x.Description, Status = x.Status.ToString(), }).ToList(); viewModel.YourDelivered = this.Db.Packages.Where( x => x.Status == PackageStatus.Delivered && x.Recipient.Id == user.Id) .Select(x => new BasePackageViewModel { Id = x.Id, Name = x.Description, Status = x.Status.ToString(), }).ToList(); return(this.View("/Home/IndexLoggedIn", viewModel)); } } return(this.View()); }
public IHttpResponse Index() { var user = this.Db.Users.FirstOrDefault(x => x.Username == this.User.Username); if (user != null) { var viewModel = new LoggedInIndexViewModel(); viewModel.FullName = user.FullName; viewModel.Products = this.Db.Products.Where(p => !p.IsDeleted) .Select(x => new BaseProductViewModel { Id = x.Id, Name = x.Name, Desctription = x.Description, Price = x.Price }).ToList(); return(this.View("/Home/LoggedIn-Index", viewModel)); } return(this.View()); }
public IHttpResponse Index() { var user = this.Db.Users.FirstOrDefault(x => x.Username == this.User.Username); if (user != null) { var viewModel = new LoggedInIndexViewModel(); viewModel.UserRole = user.Role.ToString(); var activeOrders = this.Db.Orders.Where(x => x.Status == Status.Active); var model = activeOrders .Select(x => new OrdersIndexViewModel { Name = x.Product.Name, Price = x.Product.Price, Quantity = x.Quantity, }).ToList(); viewModel.Orders = model; viewModel.Total = activeOrders .Select(y => y.Product.Price * y.Quantity).Sum(); return(this.View("/Home/LoggedInIndex", viewModel)); } return(this.View()); }