public IActionResult LikeSong(string trackId) { User currentUser = database.User.ToList().Find(u => u.Email == LoginController.UserEmail); LikedSongs song = ItunesDAL.SaveLike(trackId); currentUser.LikedSongs.Add(song); var saved = false; while (!saved) { try { // Attempt to save changes to the database database.User.Update(currentUser).State = EntityState.Modified; database.SaveChanges(); saved = true; } catch (DbUpdateConcurrencyException ex) { foreach (var entry in ex.Entries) { if (entry.Entity is User) { var proposedValues = entry.CurrentValues; var databaseValues = entry.GetDatabaseValues(); foreach (var property in proposedValues.Properties) { var proposedValue = proposedValues[property]; var databaseValue = databaseValues[property]; // TODO: decide which value should be written to database // proposedValues[property] = <value to be saved>; } // Refresh original values to bypass next concurrency check entry.OriginalValues.SetValues(databaseValues); } else { throw new NotSupportedException( "Don't know how to handle concurrency conflicts for " + entry.Metadata.Name); } } } } return(RedirectToAction("HomePage")); }
// GET: Shows public ActionResult MyShows() { var identityID = User.Identity.GetUserId(); User user = db.Users.Where(u => u.ASPNetIdentityID == identityID).FirstOrDefault(); List <Show> FinishedShows = db.Shows.Where(s => (s.EndDateTime < DateTime.Now) && (s.Status == "Accepted" || s.Status == "Pending")).ToList(); ViewBag.DataPoints1 = JsonConvert.SerializeObject(GetShowsPlayed(user)); ViewBag.DataPoints2 = JsonConvert.SerializeObject(GetShowsBooked(user)); foreach (var finishedshow in FinishedShows) { finishedshow.Status = "Finished"; } db.SaveChanges(); if (User.IsInRole("Musician")) { User musician = db.Users.Where(u => u.ASPNetIdentityID == identityID).FirstOrDefault(); return(View(db.User_Show.Where(u => u.MusicianID == musician.ID).Select(s => s.Show).OrderByDescending(s => s.EndDateTime).ToList())); } if (User.IsInRole("VenueOwner")) { User venueOwner = db.Users.Where(u => u.ASPNetIdentityID == identityID).FirstOrDefault(); return(View(db.User_Show.Where(u => u.VenueOwnerID == venueOwner.ID).Select(s => s.Show).OrderByDescending(s => s.EndDateTime).ToList())); } return(View(db.Shows.ToList())); }
public ActionResult EditSocialMedia() { var userId = User.Identity.GetUserId(); User user = db.Users.Where(u => u.ASPNetIdentityID == userId).First(); string facebook = Request.QueryString["facebook"]; string instagram = Request.QueryString["instagram"]; string twitter = Request.QueryString["twitter"]; if (IsValidString(facebook)) { user.Facebook = facebook; } if (IsValidString(instagram)) { user.Instagram = instagram; } if (IsValidString(twitter)) { user.Twitter = twitter; } if (User.IsInRole("Musician")) { string spotify = Request.QueryString["spotify"]; string applemusic = Request.QueryString["applemusic"]; string youtube = Request.QueryString["youtube"]; if (IsValidString(spotify)) { user.Spotify = spotify; } if (IsValidString(applemusic)) { user.AppleMusic = applemusic; } if (IsValidString(youtube)) { user.Youtube = youtube; } } db.SaveChanges(); return(View(user)); }
public IActionResult Register(User FormUser) { var output = Database.User.Count(u => u.Email == FormUser.Email); if (output == 1) { TempData["Error"] = "That user already exists."; return(View()); } else { HttpContext.Session.SetString("Email", FormUser.Email.ToString()); UserEmail = HttpContext.Session.GetString("Email"); TempData["Email"] = HttpContext.Session.GetString("Email"); Database.Add(FormUser); Database.SaveChanges(); return(View(FormUser)); } }
public async Task <IActionResult> PostParters(IFormFile file, IFormCollection param) { // Getting Employees Attribute var filePath = $"{_env.WebRootPath}/images/partners/{file.FileName}"; var partName = param.ContainsKey("partName") ? param["partName"].ToString() : "No Name Specified"; try { // Copying Image to Server Root Directory if (file.Length > 0) { using (var stream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(stream); } } //Adding Records to Database using (var context = new HarmonyContext()) { var employee = new Employees() { Name = partName, ImagePath = filePath }; context.employees.Add(employee); context.SaveChanges(); } } catch (Exception) { return(BadRequest("Upload Image Failed")); } return(Ok(filePath)); }
public async Task <ActionResult> CreateShow(int?id, MusicianDetailViewModel viewModel) { // No user id passed through if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } User user = db.Users.Find(id); // If users doesn't exisit if (user == null) { return(HttpNotFound()); } // Viewmodel for Musician MusicianDetailViewModel model = new MusicianDetailViewModel(user); var IdentityID = User.Identity.GetUserId(); model.VenueList = new SelectList(db.Venues.Where(v => v.User.ASPNetIdentityID == IdentityID), "ID", "VenueName"); if (ModelState.IsValid) { // Get user's calendar credentials UserCredential credential = await GetCredentialForApiAsync(); // Create Google Calendar API service. var service = new CalendarService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "Harmony", }); // Fetch the list of calendars. var calendars = await service.CalendarList.List().ExecuteAsync(); // create a new event to google calendar if (calendars != null) { Event newEvent = new Event() { Id = Guid.NewGuid().ToString().Replace('-', '0'), Summary = viewModel.Title, Description = viewModel.ShowDescription, Location = db.Venues.Find(viewModel.VenueID).VenueName, Start = new EventDateTime() { DateTime = viewModel.StartDateTime.AddHours(7.0), TimeZone = "America/Los_Angeles" }, End = new EventDateTime() { DateTime = viewModel.EndDateTime.AddHours(7.0), TimeZone = "America/Los_Angeles" }, Attendees = new List <EventAttendee>() { new EventAttendee() { Email = model.Email } }, GuestsCanModify = true }; var newEventRequest = service.Events.Insert(newEvent, "primary"); // This allows attendees to get email notification newEventRequest.SendNotifications = true; var eventResult = newEventRequest.Execute(); // add the new show to db Show newShow = new Show { Title = viewModel.Title, StartDateTime = viewModel.StartDateTime, EndDateTime = viewModel.EndDateTime, Description = viewModel.ShowDescription, DateBooked = newEvent.Created ?? DateTime.Now, VenueID = viewModel.VenueID, Status = "Pending", GoogleEventID = newEvent.Id, ShowOwnerID = db.Users.Where(u => u.ASPNetIdentityID == IdentityID).First().ID }; db.Shows.Add(newShow); User_Show user_Show = new User_Show { MusicianID = model.ID, VenueOwnerID = db.Users.Where(u => u.ASPNetIdentityID == IdentityID).First().ID, ShowID = newShow.ID, MusicianRated = false, VenueRated = false }; db.User_Show.Add(user_Show); db.SaveChanges(); } return(RedirectToAction("MusicianDetails", new { id = model.ID })); } return(View(model)); }