Esempio n. 1
0
    public async Task <ActionResult> Edit(
        string clubInitials,
        AnnouncementWithOptions model,
        string returnUrl = null)
    {
        try
        {
            if (!await _authService.CanUserEdit(User, clubInitials))
            {
                return(Unauthorized());
            }
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            model.Content   = _sanitizer.Sanitize(model.Content);
            model.UpdatedBy = await GetUserStringAsync();

            model.UpdatedDate      = DateTime.UtcNow;
            model.UpdatedLocalDate = DateTime.UtcNow.AddMinutes(0 - model.TimeOffset);
            await _announcementService.Update(model);

            if (!string.IsNullOrWhiteSpace(returnUrl))
            {
                return(Redirect(returnUrl));
            }
            return(RedirectToAction("Index", "Admin"));
        }
        catch
        {
            return(View(model));
        }
    }
Esempio n. 2
0
    public async Task <ActionResult> Create(
        string clubInitials,
        AnnouncementWithOptions model,
        string returnUrl = null)
    {
        ViewData["ReturnUrl"] = returnUrl;
        try
        {
            var clubId = await _clubService.GetClubId(clubInitials);

            if (!await _authService.CanUserEdit(User, clubId))
            {
                return(Unauthorized());
            }
            model.ClubId = clubId;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            model.Content   = _sanitizer.Sanitize(model.Content);
            model.CreatedBy = await GetUserStringAsync();

            model.CreatedDate      = DateTime.UtcNow;
            model.CreatedLocalDate = DateTime.UtcNow.AddMinutes(0 - model.TimeOffset);
            await _announcementService.SaveNew(model);

            if (!string.IsNullOrWhiteSpace(returnUrl))
            {
                return(Redirect(returnUrl));
            }
            return(RedirectToAction("Index", "Admin"));
        }
        catch
        {
            AnnouncementWithOptions vm;
            if (model.RegattaId.HasValue)
            {
                vm = await _announcementService.GetBlankAnnouncementForRegatta(
                    clubInitials,
                    model.RegattaId.Value);
            }
            else
            {
                vm = model;
            }
            return(View(vm));
        }
    }