Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }