示例#1
0
 public static Data.Event ToEntity(this EventInputModel model, MemberUser user)
 => new Data.Event
 {
     Title         = model.Title,
     Description   = model.Description,
     Type          = model.Type,
     CreatedAt     = TimeProvider.UtcNow,
     CreatedByUser = user,
     SignupOptions = new EventSignupOptions
     {
         RequiresMembershipFee  = model.RequiresMembershipFee,
         RequiresTrainingFee    = model.RequiresTrainingFee,
         RequiresClassesFee     = model.RequiresClassesFee,
         PriceForMembers        = model.PriceForMembers,
         PriceForNonMembers     = model.PriceForNonMembers,
         SignupOpensAt          = GetUtc(model.EnableSignupOpensAt, model.SignupOpensAtDate, model.SignupOpensAtTime),
         SignupClosesAt         = GetUtc(model.EnableSignupClosesAt, model.SignupClosesAtDate, model.SignupClosesAtTime),
         SignupHelp             = model.SignupHelp,
         RoleSignup             = model.RoleSignup,
         RoleSignupHelp         = model.RoleSignupHelp,
         AllowPartnerSignup     = model.AllowPartnerSignup,
         AllowPartnerSignupHelp = model.AllowPartnerSignupHelp,
         AutoAcceptedSignups    = model.AutoAcceptedSignups
     }
 };
示例#2
0
        public async Task <IActionResult> Edit(Guid id, [FromForm] EventInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            await _database.EditEvent(id, e => e.UpdateEvent(model));

            return(RedirectToAction(nameof(View), new { id }));
        }
示例#3
0
        public async Task <IActionResult> Create([FromForm] EventInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var entity = model.ToEntity(await GetCurrentUser());

            await _database.AddAsync(entity);

            await _database.SaveChangesAsync();

            return(RedirectToAction(nameof(View), new { id = entity.Id }));
        }
示例#4
0
 public static void UpdateEvent(this Data.Event entity, EventInputModel model)
 {
     entity.Title       = model.Title;
     entity.Description = model.Description;
     entity.Type        = model.Type;
     entity.SignupOptions.RequiresMembershipFee  = model.RequiresMembershipFee;
     entity.SignupOptions.RequiresTrainingFee    = model.RequiresTrainingFee;
     entity.SignupOptions.RequiresClassesFee     = model.RequiresClassesFee;
     entity.SignupOptions.PriceForMembers        = model.PriceForMembers;
     entity.SignupOptions.PriceForNonMembers     = model.PriceForNonMembers;
     entity.SignupOptions.SignupOpensAt          = GetUtc(model.EnableSignupOpensAt, model.SignupOpensAtDate, model.SignupOpensAtTime);
     entity.SignupOptions.SignupClosesAt         = GetUtc(model.EnableSignupClosesAt, model.SignupClosesAtDate, model.SignupClosesAtTime);
     entity.SignupOptions.SignupHelp             = model.SignupHelp;
     entity.SignupOptions.RoleSignup             = model.RoleSignup;
     entity.SignupOptions.RoleSignupHelp         = model.RoleSignupHelp;
     entity.SignupOptions.AllowPartnerSignup     = model.AllowPartnerSignup;
     entity.SignupOptions.AllowPartnerSignupHelp = model.AllowPartnerSignupHelp;
     entity.SignupOptions.AutoAcceptedSignups    = model.AutoAcceptedSignups;
 }
示例#5
0
        public async Task <IActionResult> Create([FromForm] EventInputModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var entity = model.ToEntity(await GetCurrentUser());

            if (model.SemesterId.HasValue)
            {
                var semester = await _database.Semesters.FindAsync(model.SemesterId.Value);

                semester.Courses.Add(entity);
            }
            else
            {
                _database.Events.Add(entity);
            }

            await _database.SaveChangesAsync();

            return(RedirectToAction(nameof(View), new { id = entity.Id }));
        }
示例#6
0
 public static Data.Event ToEntity(this EventInputModel model, User user)
 => new()