public ActionResult Create(Event event1) { if (event1.CatagoryId < 1) { ModelState.AddModelError("", "catagory is required"); ViewBag.Catagories = db.EventCatagories.ToList(); ViewBag.Speakers = db.Speakers.ToList(); return(View(event1)); } for (int i = 0; i < event1.SpeakerId.Length; i++) { if (event1.SpeakerId[i] < 1) { ModelState.AddModelError("", "speaker is required"); ViewBag.Catagories = db.EventCatagories.ToList(); ViewBag.Speakers = db.Speakers.ToList(); return(View(event1)); } } if (ModelState.IsValid) { if (event1.ImageFile == null) { ModelState.AddModelError("ImageFile", "image is requred"); ViewBag.Catagories = db.EventCatagories.ToList(); ViewBag.Speakers = db.Speakers.ToList(); return(View(event1)); } else { string imageName = DateTime.Now.ToString("ddMMyyyyHHmmssfff") + event1.ImageFile.FileName; string imagePath = Path.Combine(Server.MapPath("~/Uploads/"), imageName); event1.ImageFile.SaveAs(imagePath); event1.Image = imageName; } db.Events.Add(event1); db.SaveChanges(); for (int i = 0; i < event1.SpeakerId.Length; i++) { SpeakerEvent speakerEvent = new SpeakerEvent(); speakerEvent.EventId = event1.Id; speakerEvent.SpeakerId = event1.SpeakerId[i]; db.SpeakerEvents.Add(speakerEvent); db.SaveChanges(); } return(RedirectToAction("Index")); } ViewBag.Catagories = db.EventCatagories.ToList(); ViewBag.Speakers = db.Speakers.ToList(); return(View(event1)); }
//Admin/SpeakerEvent/Delete public ActionResult Delete(int id) { if (Session["Admin"] != null) { SpeakerEvent speakerEvent = db.SpeakerEvents.Find(id); if (speakerEvent == null) { return(HttpNotFound()); } db.SpeakerEvents.Remove(speakerEvent); db.SaveChanges(); return(RedirectToAction("Index")); } return(RedirectToAction("Login", "Login")); }
//Admin/SpeakerEvent/Update public ActionResult Update(int id) { if (Session["Admin"] != null) { SpeakerEvent speakerEvent = db.SpeakerEvents.Find(id); if (speakerEvent == null) { return(HttpNotFound()); } ViewBag.Speaker = db.Speakers.ToList(); ViewBag.Event = db.Events.ToList(); return(View(speakerEvent)); } return(RedirectToAction("Login", "Login")); }
public ActionResult Update(SpeakerEvent speakerEvent) { if (Session["Admin"] != null) { if (ModelState.IsValid) { db.Entry(speakerEvent).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Speaker = db.Speakers.ToList(); ViewBag.Event = db.Events.ToList(); return(View(speakerEvent)); } return(RedirectToAction("Login", "Login")); }
public IActionResult NewBooking(Booking booking) { if (!ModelState.IsValid) { return(View(booking)); } SpeakerEvent speakerEvent = _db.Events.FirstOrDefault(x => x.Id == booking.EventId); lock (speakerEvent) { if (speakerEvent.RemainingTickets < booking.NumberOfTickets) { return(View(booking)); } speakerEvent.RemainingTickets -= booking.NumberOfTickets; _db.Update(speakerEvent); _db.Add(booking); _db.SaveChanges(); } return(RedirectToAction("ThankYou")); }
public async Task <IActionResult> Create([FromForm] UpComingEventCreateVM upComingEventCreateVM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!upComingEventCreateVM.Photo.IsImage()) { ModelState.AddModelError("Photo", "Zehmet olmasa shekil formati sechin"); return(BadRequest(ModelState)); } if (upComingEventCreateVM.Photo.MaxLength(2000)) { ModelState.AddModelError("Photo", "Shekilin olchusu max 200kb ola biler"); return(BadRequest(ModelState)); } if (upComingEventCreateVM.SpeakerEventsId == null) { ModelState.AddModelError("", "Speaker Secmelisiniz!"); return(BadRequest(ModelState)); } string path = Path.Combine("img", "event"); UpComingEvent upComingEvent = new UpComingEvent { Title = upComingEventCreateVM.Title, Image = await upComingEventCreateVM.Photo.SaveImg(_env.WebRootPath, path), Month = upComingEventCreateVM.Month, Day = upComingEventCreateVM.Day, Location = upComingEventCreateVM.Location, StartTime = upComingEventCreateVM.StartTime, EndTime = upComingEventCreateVM.EndTime, Description = upComingEventCreateVM.Description, CategoryId = upComingEventCreateVM.CategoryId }; await _db.UpComingEvents.AddAsync(upComingEvent); await _db.SaveChangesAsync(); foreach (var speakerId in upComingEventCreateVM.SpeakerEventsId) { var speaker = _db.Speakers.Include(p => p.SpeakerEvents).ThenInclude(p => p.UpComingEvent).FirstOrDefault(p => p.Id == speakerId); foreach (var se in speaker.SpeakerEvents) { if (upComingEvent.StartTime > se.UpComingEvent.StartTime && upComingEvent.EndTime < se.UpComingEvent.EndTime) { ModelState.AddModelError("", "Busy"); return(BadRequest(ModelState)); } } SpeakerEvent speakerEvent = new SpeakerEvent { SpeakerId = speakerId, UpComingEventId = upComingEvent.Id }; _db.SpeakerEvents.Add(speakerEvent); await _db.SaveChangesAsync(); } var callbackUrl = Url.Action( "Detail", "Event", new { Id = upComingEventCreateVM.Id }, protocol: HttpContext.Request.Scheme); EmailService email = new EmailService(); List <string> e = _db.Subscriptions.Select(x => x.Email).ToList(); await email.SendEmailAsync(e, "Yeni event", "Yeni event: <a href=https://localhost:44375/Event/Detail/" + $"{upComingEvent.Id}" + ">link</a>"); return(Ok($"{upComingEvent.Id} li element yaradildi")); }