public async Task <ActionResult> UpdateOrganizer(Guid?id, string message) { var organizers = await UnitOfWork.OrganizerRepository.GetUserOrganizersAsync(GetGuid(User.Identity.GetUserId())); var organizer = id.HasValue ? organizers.FirstOrDefault(o => o.OrganizerId.Equals(id.Value)) : organizers.First(); if (organizer == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } var model = new OrganizerEditModel { OrganizerId = organizer.OrganizerId, Name = organizer.Name, Description = organizer.Description, Image = organizer.Image, Website = organizer.Website, Slug = organizer.Slug, IsRemovable = !organizer.IsDefault }; ViewBag.StatusMessage = message; ViewBag.Organizers = organizers; return(View(model)); }
public async Task <ActionResult> UpdateOrganizer(OrganizerEditModel model) { var organizers = await UnitOfWork.OrganizerRepository.GetUserOrganizersAsync(GetGuid(User.Identity.GetUserId())); if (ModelState.IsValid) { var organizer = organizers.FirstOrDefault(o => o.OrganizerId.Equals(model.OrganizerId)); if (organizer == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } try { organizer.Name = model.Name; organizer.Description = model.Description; organizer.Image = model.Image ?? PlaceholderImagePath; organizer.Website = model.Website; organizer.Slug = model.Slug; if (await IsOrganizerSlugUnique(model.Slug, organizer.OrganizerId)) { UnitOfWork.OrganizerRepository.Update(organizer); await UnitOfWork.SaveChangesAsync(); return(RedirectToAction("UpdateOrganizer", "Account", new { id = organizer.OrganizerId, message = "Profil başarıyla güncellendi" })); } ModelState.AddModelError("", "Url kısaltması özel olmalıdır"); } catch { //TODO: Log error ModelState.AddModelError("", "Organizatör profili güncellenirken bir hata oluştu"); } } else { ModelState.AddModelError("", "Lütfen tüm alanları doğru şekilde doldurunuz"); } ViewBag.Organizers = organizers; return(View(model)); }