public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/ViewBilliardClub/" + Id); BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var result = _dbContext.BilliardClubs. SingleOrDefault(equipment => equipment.id == Id); if (result != null) { result.Name = Input.Name; result.Description = Input.Description; result.Origin = Input.Origin; result.Website = Input.Website; result.Address = Input.Address; result.Latitude = Input.Latitude; result.Longitude = Input.Longitude; } int res = await _dbContext.SaveChangesAsync(); if (res != 0) { Console.WriteLine("\n\ninfo: User's selected " + Input.Name + " is UPDATED!"); StatusMessage = Input.Name + " Updated successfully!"; } return(LocalRedirect(returnUrl)); }
public async Task <IActionResult> OnPostJoinRequestAsync(int notificationId, string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/ViewBilliardClub/" + Id); BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); BilliardClubNotifications notification = _dbContext.BilliardClubNotifications.Single(e => e.id == notificationId); var user = _dbContext.Users.Single(e => e.Id == notification.userId); BilliardClubUserReference billiardClubUser = new BilliardClubUserReference { BilliardAppUserId = user.Id, BilliardClubId = Id, Approved = 1 }; if (_dbContext.BilliardClubUsersReference.Find(user.Id, Id) != null) { StatusMessage = user.Name + " " + user.LastName + " is already a member!!"; return(LocalRedirect(returnUrl)); } _dbContext.BilliardClubUsersReference.Add(billiardClubUser); await _dbContext.SaveChangesAsync(); StatusMessage = user.Name + " " + user.LastName + " is approved!"; return(LocalRedirect(returnUrl)); }
public void OnGet() { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var events = from e in _dbContext.BilliardEvents where e.Approved == 1 select e; _billiardEvent = new List <BilliardEvents> (); foreach (var item in events) { _billiardEvent.Add(new BilliardEvents { id = item.id, EventStartDate = item.EventStartDate, Description = item.Description, Name = item.Name, NumberOfPlayers = item.NumberOfPlayers, Address = item.Address, Latitude = item.Latitude, Longitude = item.Longitude, Owner = item.Owner, Photo = new ImagePathMaker(item.Photo).validatePath(), ParticipationFee = item.ParticipationFee, Approved = item.Approved, forBilliardClub = item.forBilliardClub, CreatedDate = item.CreatedDate }); } }
public async Task <IActionResult> OnPostDeleteBilliardClubAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/ViewBilliardClub/"); BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var clubForDelete = _dbContext.BilliardClubs.SingleOrDefault(club => club.id == Id); var clubNotifications = from e in _dbContext.BilliardClubNotifications where e.ForBilliardCLub == Id select e; var clubMembers = from e in _dbContext.BilliardClubUsersReference where e.BilliardClubId == Id select e; _dbContext.BilliardClubNotifications.RemoveRange(clubNotifications); _dbContext.BilliardClubs.Remove(clubForDelete); _dbContext.BilliardClubUsersReference.RemoveRange(clubMembers); int res = await _dbContext.SaveChangesAsync(); if (res != 0) { Console.WriteLine("info: Billiard club deleted successfully!"); StatusMessage = "Billiard club deleted successfully!"; } return(LocalRedirect(returnUrl)); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/Identity/Account/Manage/ViewBillardAppUserEquipment"); BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var result = _dbContext.BillardAppUserEquipment. SingleOrDefault(equipment => equipment.id == Input.id); if (result != null) { result.Name = Input.Name; result.Description = Input.Description; result.Price = Input.Price; result.Website = Input.Website; } int res = await _dbContext.SaveChangesAsync(); if (res != 0) { Console.WriteLine("\n\ninfo: User's selected 'Equipment' is UPDATED!"); StatusMessage = "Item Updated successfully!"; } return(LocalRedirect(returnUrl)); }
public async Task <IActionResult> OnGetAsync() { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var loggedUser = await _userManager.GetUserAsync(User); var billiardClubs = from bc in _dbContext.BilliardClubs select bc; return(Page()); }
public void OnGet() { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); _billiardEvent = _dbContext.BilliardEvents.Single(e => e.id == Id); _billiardEvent.Photo = new ImagePathMaker(_billiardEvent.Photo).validatePath(); _billiardClub = _dbContext.BilliardClubs.Single(e => e.id == _billiardEvent.forBilliardClub); _billiardEvent.NumberOfPlayers = fixBrackets(_billiardEvent.NumberOfPlayers); }
/* * public DbContextOptionsBuilder<BillardAppIdentityDbContext> setupOptions () { * DbContextOptionsBuilder<BillardAppIdentityDbContext> optionsBuilder = new DbContextOptionsBuilder<BillardAppIdentityDbContext> (); * optionsBuilder.UseSqlServer (Configuration.GetConnectionString ("BillardAppIdentityDbContextConnection")); * return optionsBuilder; * } */ public async Task clearEquipmentData(IServiceProvider _serviceProvider) { BillardAppDatabaseInitializer _dbInit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _db = new BillardAppIdentityDbContext(_dbInit.setupOptions().Options); //BillardAppIdentityDbContext _db = new BillardAppIdentityDbContext (setupOptions ().Options); // Console.WriteLine ("EXECUTED?"); // Console.WriteLine(_db.Database.ExecuteSqlCommand ("UPDATE [BillardAppUserEquipment] SET Owner = '*****@*****.**' WHERE id = 1;")); // var _dbContext = _serviceProvider.GetRequiredService<BillardAppIdentityDbContext> (); List <BillardAppUserEquipment> allEquipment = await _db.BillardAppUserEquipment.ToListAsync(); foreach (var item in allEquipment) { Console.WriteLine(item.Name); Console.WriteLine(item.Description); Console.WriteLine(item.Owner); } }
public async Task <IActionResult> OnGetAsync() { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); _equipment = _dbContext.BillardAppUserEquipment.SingleOrDefault(eq => eq.id == Id); var user = await _userManager.FindByEmailAsync(_equipment.Owner); _user = new UserModel { Name = user.Name, LastName = user.LastName, UserName = user.UserName }; photo = new ImagePathMaker(_equipment.Photo).validatePath(); return(Page()); }
public async Task <IActionResult> OnPostDeleteNotificationAsync(int notificationId, string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/ViewBilliardClub/" + Id); BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var result = _dbContext.BilliardClubNotifications. SingleOrDefault(notif => notif.id == notificationId); _dbContext.BilliardClubNotifications.Remove(result); int res = await _dbContext.SaveChangesAsync(); if (res != 0) { Console.WriteLine("info: Notification deleted successfully!"); StatusMessage = "Notification deleted successfully!"; } return(LocalRedirect(returnUrl)); }
public JsonResult OnGetEquipmentEdit(int itemId) { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var equipment = from eq in _dbContext.BillardAppUserEquipment where eq.id.Equals(itemId) select eq; ImagePathMaker pathMaker = new ImagePathMaker(equipment.First().Photo); Input.id = equipment.First().id; Input.Name = equipment.First().Name; Input.Description = equipment.First().Description; Input.Price = equipment.First().Price; Input.Website = string.IsNullOrEmpty(equipment.First().Website) == false ? (equipment.First().Website.Contains("www.") == true ? equipment.First().Website : "None") : "None"; Input.imagePath = pathMaker.validatePath(); return(new JsonResult(Input)); }
public async Task <IActionResult> OnPostDelete(int Id, string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/Identity/Account/Manage/ViewBillardAppUserEquipment"); BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var equipment = from eq in _dbContext.BillardAppUserEquipment where eq.id.Equals(Id) select eq; _dbContext.BillardAppUserEquipment.Remove(equipment.First()); int result = await _dbContext.SaveChangesAsync(); if (result != 0) { Console.WriteLine("\n\ninfo: User's selected 'Equipment' deleted!"); StatusMessage = "Item deleted successfully!"; } return(LocalRedirect(returnUrl)); }
/* * public async Task<IActionResult> UploadImage (IFormFile file) { * var user = await _userManager.GetUserAsync (User); * * if (file == null || file.Length == 0) { * return NotFound ($"No Image file specified!"); * } * var path = Path.Combine (Directory.GetCurrentDirectory (), "wwwroot", user.UserName, file.Name); * using (var stream = new FileStream (path, FileMode.Create)) { * await file.CopyToAsync (stream); * } * * } */ public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/Identity/Account/Manage/ViewBillardAppUserEquipment"); var user = await _userManager.GetUserAsync(User); //var path = ""; if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } string imagePath = "None"; if (Input.Upload != null) { Directory.CreateDirectory(Path.Combine(_environment.ContentRootPath, "wwwroot", "images", user.Name + user.LastName + user.Id)); var file = Path.Combine(_environment.ContentRootPath, "wwwroot", "images", user.Name + user.LastName + user.Id, Input.Upload.FileName); imagePath = "~/images/" + user.Name + user.LastName + user.Id + "/" + Input.Upload.FileName; using (var fileStream = new FileStream(file, FileMode.Create)) { await Input.Upload.CopyToAsync(fileStream); } Console.WriteLine(imagePath); } var userEquipment = new BillardAppUserEquipment { Name = Input.Name, Description = Input.Description, Website = Input.Website, Price = Input.Price, Photo = imagePath, Owner = user.UserName }; BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); _dbContext.BillardAppUserEquipment.Add(userEquipment); int result = await _dbContext.SaveChangesAsync(); if (result != 0) { _logger.LogInformation("Equipment added to " + user.UserName + "!"); } return(LocalRedirect(returnUrl)); }
public async Task <IActionResult> OnGetJoinRequestAsync(string returnUrl = null) { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var user = await _userManager.GetUserAsync(User); _dbContext.BilliardClubNotifications.Add(new BilliardClubNotifications { Type = NotificationType.JoinRequest, Description = user.Name + ' ' + user.LastName + " wishes to join, approval is required!", ForBilliardCLub = Id, CreatedDate = DateTime.Now, userId = user.Id }); await _dbContext.SaveChangesAsync(); StatusMessage = "Your request is sent and is being reviewed!"; returnUrl = returnUrl ?? Url.Content("~/BilliardClub/" + Id); return(LocalRedirect(returnUrl)); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); returnUrl = returnUrl ?? Url.Content("~/ViewBilliardClub/" + _billiardEvent.forBilliardClub.ToString()); var approveEvent = _dbContext.BilliardEvents.Single(e => e.id == Id); if (approveEvent.Approved == 1) { StatusMessage = "Tournament is already approved!!"; } else { approveEvent.Approved = 1; await _dbContext.SaveChangesAsync(); StatusMessage = "Tournament is approved successfully!"; } return(LocalRedirect(returnUrl)); }
public async Task <IActionResult> OnGetAsync(string returnUrl = null) { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var loggedUser = await _userManager.GetUserAsync(User); if (_dbContext.BilliardClubs.Single(e => e.id == Id) == null) { returnUrl = returnUrl ?? Url.Content("~/"); return(LocalRedirect(returnUrl)); } var billiardClub = _dbContext.BilliardClubs.Single(e => e.id == Id); _billiardClub = new BilliardClub { Name = billiardClub.Name, Description = billiardClub.Description, Owner = billiardClub.Owner, id = billiardClub.id, Photo = new ImagePathMaker(billiardClub.Photo).validatePath(), NotificationsFk = billiardClub.NotificationsFk, Origin = billiardClub.Origin, Website = billiardClub.Website, CreatedDate = billiardClub.CreatedDate, Address = billiardClub.Address, Latitude = billiardClub.Latitude, Longitude = billiardClub.Longitude }; var Members = from e in _dbContext.BilliardClubUsersReference join user in _dbContext.Users on e.BilliardAppUserId equals user.Id where e.BilliardClubId == Id select new { e.BilliardAppUserId, e.BilliardClubId, e.Approved, user.Name, user.LastName, user.UserName }; _members = new List <MembersModel> (); foreach (var item in Members) { _members.Add(new MembersModel { BilliardAppUserId = item.BilliardAppUserId, BilliardClubId = item.BilliardClubId, Approved = item.Approved, Name = item.Name, LastName = item.LastName, UserName = item.UserName }); } foreach (var item in _members) { if (item.BilliardAppUserId == loggedUser.Id) { _isMember = true; break; } else { _isMember = false; } } return(Page()); }
public async Task <IActionResult> OnGetAsync() { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); if (!string.IsNullOrEmpty(Id)) { var eqSelect = from eq in _dbContext.BillardAppUserEquipment where eq.Owner == Id select new { eqName = eq.Name, eqDescription = eq.Description, eqPrice = eq.Price, eqWebsite = eq.Website, eqPhoto = new ImagePathMaker(eq.Photo).validatePath(), eqId = eq.id, eqOwner = eq.Owner }; var uSelect = await _userManager.FindByEmailAsync(Id); _user = new UserModel { uName = uSelect.Name, uLastName = uSelect.LastName, uUserName = uSelect.UserName, uEmail = uSelect.Email, uId = uSelect.Id }; _user._billiardClubs = new List <BKMember> (); _user._equipment = new List <EquipmentModel> (); var equipment = from eq in eqSelect where eq.eqOwner == _user.uEmail select eq; var memberOf = from bc in _dbContext.BilliardClubs join bcref in _dbContext.BilliardClubUsersReference on bc.id equals bcref.BilliardClubId join user in _dbContext.Users on bcref.BilliardAppUserId equals _user.uId select new { clubId = bc.id, clubName = bc.Name, userFirstName = user.Name, userLastName = user.LastName, photo = new ImagePathMaker(bc.Photo).validatePath() }; memberOf = memberOf.GroupBy(x => x.clubId).Select(g => g.First()); foreach (var item in equipment) { _user._equipment.Add(new EquipmentModel { eqName = item.eqName, eqDescription = item.eqDescription, eqPrice = item.eqPrice, eqWebsite = item.eqWebsite, eqPhoto = new ImagePathMaker(item.eqPhoto).validatePath(), eqId = item.eqId, eqOwner = item.eqOwner }); } foreach (var item in memberOf) { _user._billiardClubs.Add(new BKMember { clubId = item.clubId, clubName = item.clubName, photo = item.photo }); } return(Page()); } else { var eqSelect = from eq in _dbContext.BillardAppUserEquipment select new { eqName = eq.Name, eqDescription = eq.Description, eqPrice = eq.Price, eqWebsite = eq.Website, eqPhoto = new ImagePathMaker(eq.Photo).validatePath(), eqId = eq.id, eqOwner = eq.Owner }; var uSelect = from u in _dbContext.Users select new { uName = u.Name, uLastName = u.LastName, uUserName = u.UserName, uEmail = u.Email, uId = u.Id }; _users = new List <UserModel> (); foreach (var item in uSelect) { _users.Add(new UserModel { uName = item.uName, uLastName = item.uLastName, uUserName = item.uUserName, uEmail = item.uEmail, uId = item.uId, }); } for (int i = 0; i < _users.Count(); i++) { _users[i]._equipment = new List <EquipmentModel> (); _users[i]._billiardClubs = new List <BKMember> (); var equipment = from eq in eqSelect where eq.eqOwner == _users[i].uEmail select eq; var memberOf = from bc in _dbContext.BilliardClubs join bcref in _dbContext.BilliardClubUsersReference on bc.id equals bcref.BilliardClubId join user in _dbContext.Users on bcref.BilliardAppUserId equals _users[i].uId select new { clubId = bc.id, clubName = bc.Name, userFirstName = user.Name, userLastName = user.LastName, photo = new ImagePathMaker(bc.Photo).validatePath() }; memberOf = memberOf.GroupBy(x => x.clubId).Select(g => g.First()); foreach (var item in equipment) { _users[i]._equipment.Add(new EquipmentModel { eqName = item.eqName, eqDescription = item.eqDescription, eqPrice = item.eqPrice, eqWebsite = item.eqWebsite, eqPhoto = new ImagePathMaker(item.eqPhoto).validatePath(), eqId = item.eqId, eqOwner = item.eqOwner }); } foreach (var item in memberOf) { _users[i]._billiardClubs.Add(new BKMember { clubId = item.clubId, clubName = item.clubName, photo = item.photo }); } } return(Page()); } }
public IActionResult OnGet(string returnUrl = null) { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); if (Id == 0) { _billiardClubs = from e in _dbContext.BilliardClubs where e.Owner == _userManager.GetUserName(User) select e; return(Page()); } else { if (_userManager.GetUserName(User) != _dbContext.BilliardClubs.SingleOrDefault(e => e.id == Id).Owner) { returnUrl = returnUrl ?? Url.Content("~/ViewBilliardClub/0"); StatusMessage = "This billiard club is not yours!!"; return(LocalRedirect(returnUrl)); } _billiardClub = _dbContext.BilliardClubs.SingleOrDefault(e => e.id == Id); _notifications = from e in _dbContext.BilliardClubNotifications where e.ForBilliardCLub == _billiardClub.id select e; _notificationCount = _notifications.Count(); ImagePathMaker pathMaker = new ImagePathMaker(_billiardClub.Photo); _billiardClub.Photo = pathMaker.validatePath(); Input = new InputModel { Name = _billiardClub.Name, Description = _billiardClub.Description, Origin = _billiardClub.Origin, Website = _billiardClub.Website, Address = _billiardClub.Address, Latitude = _billiardClub.Latitude, Longitude = _billiardClub.Longitude }; var Members = from e in _dbContext.BilliardClubUsersReference join user in _dbContext.Users on e.BilliardAppUserId equals user.Id where e.BilliardClubId == Id select new { e.BilliardAppUserId, e.BilliardClubId, e.Approved, user.Name, user.LastName, user.UserName }; _members = new List <MembersModel> (); foreach (var item in Members) { _members.Add(new MembersModel { BilliardAppUserId = item.BilliardAppUserId, BilliardClubId = item.BilliardClubId, Approved = item.Approved, Name = item.Name, LastName = item.LastName, UserName = item.UserName }); } var billiardEvents = from e in _dbContext.BilliardEvents where e.forBilliardClub == Id select e; foreach (var item in billiardEvents) { _billiardEvents.Add(new BilliardEvents { EventStartDate = item.EventStartDate, Description = item.Description, Name = item.Name, NumberOfPlayers = item.NumberOfPlayers, Address = item.Address, Latitude = item.Latitude, Longitude = item.Longitude, Owner = item.Owner, Photo = item.Photo, ParticipationFee = item.ParticipationFee, Approved = item.Approved, forBilliardClub = item.forBilliardClub, CreatedDate = item.CreatedDate, id = item.id }); } return(Page()); } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } string imagePath = "None"; if (Input.Upload != null) { Directory.CreateDirectory(Path.Combine(_environment.ContentRootPath, "wwwroot", "images", user.Name + user.LastName + user.Id)); var file = Path.Combine(_environment.ContentRootPath, "wwwroot", "images", user.Name + user.LastName + user.Id, Input.Upload.FileName); imagePath = "~/images/" + user.Name + user.LastName + user.Id + "/" + Input.Upload.FileName; using (var fileStream = new FileStream(file, FileMode.Create)) { await Input.Upload.CopyToAsync(fileStream); } Console.WriteLine(imagePath); } BillardApp.Areas.Identity.Data.BilliardClubNotifications notifications = new BillardApp.Areas.Identity.Data.BilliardClubNotifications { Type = NotificationType.Created, Description = Notifications.BILLIARD_CLUB_CREATED_0 + " '" + Input.Name + "' " + Notifications.BILLIARD_CLUB_CREATED_1 + " Update it's full address so it's easier to find it!", ForBilliardCLub = 0 }; BilliardClub billiardClub = new BilliardClub { Name = Input.Name, Description = Input.Description, Origin = Input.Origin, Owner = user.UserName, Photo = imagePath, Website = Input.Website, NotificationsFk = 0 }; BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); _dbContext.BilliardClubs.Add(billiardClub); _dbContext.BilliardClubNotifications.Add(notifications); await _dbContext.SaveChangesAsync(); BilliardClub refactorBilliardClub = _dbContext.BilliardClubs.Last(); BillardApp.Areas.Identity.Data.BilliardClubNotifications refactorNotifications = _dbContext.BilliardClubNotifications.Last(); refactorBilliardClub.NotificationsFk = refactorNotifications.id; refactorNotifications.ForBilliardCLub = refactorBilliardClub.id; BilliardClubUserReference billiardClubUser = new BilliardClubUserReference { BilliardAppUserId = user.Id, BilliardClubId = refactorBilliardClub.id, Approved = 1 }; _dbContext.BilliardClubUsersReference.Add(billiardClubUser); await _dbContext.SaveChangesAsync(); return(LocalRedirect(returnUrl)); }
public void OnGet(string returnUrl = null) { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); var billiardClubs = from e in _dbContext.BilliardClubs select new { Name = e.Name, Description = e.Description, Owner = e.Owner, id = e.id, Photo = new ImagePathMaker(e.Photo).validatePath(), NotificationsFk = e.NotificationsFk, Origin = e.Origin, Website = e.Website, CreatedDate = e.CreatedDate }; var members = from e in _dbContext.BilliardClubUsersReference join user in _dbContext.Users on e.BilliardAppUserId equals user.Id select new { e.BilliardAppUserId, e.BilliardClubId, e.Approved, user.Name, user.LastName, user.UserName }; _billiardClubs = new List <BilliardModel> (); var intersection = from bc in billiardClubs join member in members on bc.id equals member.BilliardClubId select new { bcName = bc.Name, bcDescription = bc.Description, bcOwner = bc.Owner, bcid = bc.id, bcPhoto = bc.Photo, bcNotificationsFk = bc.NotificationsFk, bcOrigin = bc.Origin, bcWebsite = bc.Website, bcCreatedDate = bc.CreatedDate, uName = member.Name, uLastName = member.LastName, uUserName = member.UserName, uid = member.BilliardAppUserId }; foreach (var item in intersection) { var bcMembers = new List <MemberModel> (); foreach (var member in intersection) { if (item.bcid == member.bcid) { bcMembers.Add(new MemberModel { bcId = member.bcid, uId = member.uid, uName = member.uName, uLastName = member.uLastName, uUserName = member.uUserName, }); } } _billiardClubs.Add(new BilliardModel { bcId = item.bcid, bcName = item.bcName, bcDescription = item.bcDescription, bcOwner = item.bcOwner, bcPhoto = item.bcPhoto, bcOrigin = item.bcOrigin, bcWebsite = item.bcWebsite, bcMembers = bcMembers }); } _billiardClubs = _billiardClubs.GroupBy(x => x.bcId).Select(g => g.First()).ToList(); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); returnUrl = returnUrl ?? Url.Content("~/BilliardClub/" + Id); var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } string imagePath = "None"; if (Input.Photo != null) { Directory.CreateDirectory(Path.Combine(_environment.ContentRootPath, "wwwroot", "images", user.Name + user.LastName + user.Id)); var file = Path.Combine(_environment.ContentRootPath, "wwwroot", "images", user.Name + user.LastName + user.Id, Input.Photo.FileName); imagePath = "~/images/" + user.Name + user.LastName + user.Id + "/" + Input.Photo.FileName; using (var fileStream = new FileStream(file, FileMode.Create)) { await Input.Photo.CopyToAsync(fileStream); } Console.WriteLine(imagePath); } BillardApp.Areas.Identity.Data.BilliardClubNotifications notifications = new BillardApp.Areas.Identity.Data.BilliardClubNotifications { Type = NotificationType.EventRequest, Description = user.Name + ' ' + user.LastName + " has made an event! Approval is required!", ForBilliardCLub = Id, eventId = 0 }; _billiardClub = _dbContext.BilliardClubs.Single(e => e.id == Id); BilliardEvents billiardEvent = new BilliardEvents { Owner = user.UserName, Name = Input.Name, Description = Input.Description, Address = _billiardClub.Address, Latitude = _billiardClub.Latitude, Longitude = _billiardClub.Longitude, Photo = imagePath, CreatedDate = DateTime.Now, EventStartDate = Input.EventStartDate, ParticipationFee = Input.ParticipationFee, NumberOfPlayers = Input.NumberOfPlayers, forBilliardClub = Id, Approved = 0 }; _dbContext.BilliardEvents.Add(billiardEvent); _dbContext.BilliardClubNotifications.Add(notifications); await _dbContext.SaveChangesAsync(); StatusMessage = "Event created successfully! You will have to wait until the event is validated!"; BillardApp.Areas.Identity.Data.BilliardClubNotifications refactorNotification = _dbContext.BilliardClubNotifications.Last(); BilliardEvents refactorEvent = _dbContext.BilliardEvents.Last(); refactorNotification.eventId = refactorEvent.id; await _dbContext.SaveChangesAsync(); return(LocalRedirect(returnUrl)); }
public void OnGet() { BillardAppDatabaseInitializer _dbinit = new BillardAppDatabaseInitializer(); BillardAppIdentityDbContext _dbContext = new BillardAppIdentityDbContext(_dbinit.setupOptions().Options); _members = new List <News> (); _billiardClubNotifications = new List <NewsNotifications> (); _userEquipment = new List <UserEquipment> (); var userEquipment = from eq in _dbContext.BillardAppUserEquipment join user in _dbContext.Users on eq.Owner equals user.UserName select new { eqId = eq.id, uId = user.Id, uName = user.Name, uLastName = user.LastName, eqName = eq.Name, eqPrice = eq.Price, eqPhoto = eq.Photo }; foreach (var item in userEquipment) { _userEquipment.Add(new UserEquipment { eqId = item.eqId, uId = item.uId, uName = item.uName, uLastName = item.uLastName, eqName = item.eqName, eqPrice = item.eqPrice, eqPhoto = new ImagePathMaker(item.eqPhoto).validatePath() }); } var billiardClubNotifications = from bc in _dbContext.BilliardClubs join notif in _dbContext.BilliardClubNotifications on bc.id equals notif.ForBilliardCLub select new { clubId = bc.id, clubName = bc.Name, clubDesc = bc.Description, notifType = notif.Type, created = bc.CreatedDate, origin = bc.Origin, photo = bc.Photo }; foreach (var item in billiardClubNotifications) { _billiardClubNotifications.Add(new NewsNotifications { type = item.notifType, bcId = item.clubId, bcName = item.clubName, bcDescription = item.clubDesc, bcOrigin = item.origin, notifCreated = item.created, photo = new ImagePathMaker(item.photo).validatePath() }); } var members = from bc in _dbContext.BilliardClubs join bcref in _dbContext.BilliardClubUsersReference on bc.id equals bcref.BilliardClubId join user in _dbContext.Users on bcref.BilliardAppUserId equals user.Id select new { clubId = bc.id, clubName = bc.Name, userFirstName = user.Name, userLastName = user.LastName, photo = new ImagePathMaker(bc.Photo).validatePath() }; foreach (var item in members) { _members.Add(new News { clubId = item.clubId, clubName = item.clubName, userFirstName = item.userFirstName, userLastName = item.userLastName, photo = item.photo }); } /* * foreach (var item in _billiardClubNotifications) { * item. * } */ }