public ActionResult Add(AddEventInputModel model)
        {
            if (ModelState.IsValid)
            {
                var currentEvent = new Event
                {
                    Author      = User.Identity.GetUserId(),
                    Title       = model.Title,
                    Type        = model.Type,
                    Description = model.Description
                };

                if (model.Type == EventType.Course)
                {
                    var dateRange = model.DateRange.Split(new char[] { '-', }, StringSplitOptions.RemoveEmptyEntries);
                    currentEvent.StartDate = Convert.ToDateTime(dateRange[0]);
                    currentEvent.EndDate   = Convert.ToDateTime(dateRange[1]);
                }
                else
                {
                    currentEvent.StartDate = model.StartDate;
                }

                this.events.Add(currentEvent);
                this.events.SaveChanges();


                return(this.RedirectToAction("Display", new { eventId = currentEvent.EventId }));
            }
            return(View(model));
        }
        public ActionResult Add()
        {
            var model = new AddEventInputModel();

            model.TypesData = Enum.GetValues(typeof(EventType)).Cast <EventType>().Select(x => new SelectListItem
            {
                Text  = base.GetLocalizedEventTypeString(x),
                Value = ((int)x).ToString()
            }).ToList();
            return(View(model));
        }
Ejemplo n.º 3
0
        public async Task <Event> AddEvent(AddEventInputModel inputModel)
        {
            Event eventEntity = new Event()
            {
                Name        = inputModel.Name,
                Date        = inputModel.Date,
                Description = inputModel.Description,
                IsPublic    = inputModel.IsPublic,
                Interests   = inputModel.Interests,
                ClubId      = inputModel.ClubId
            };

            await this.dbContext.Events.AddAsync(eventEntity);

            await this.dbContext.SaveChangesAsync();

            return(eventEntity);
        }
        public ActionResult Edit(int eventId)
        {
            var currentEvent = events.GetById(eventId);

            var model = new AddEventInputModel
            {
                Id          = currentEvent.EventId,
                Title       = currentEvent.Title,
                Type        = currentEvent.Type,
                Description = currentEvent.Description,
                TypesData   = Enum.GetValues(typeof(EventType)).Cast <EventType>().Select(x => new SelectListItem
                {
                    Text  = base.GetLocalizedEventTypeString(x),
                    Value = ((int)x).ToString()
                }).ToList(),

                DateRange = currentEvent.Type == EventType.Course ? GetDateRange(currentEvent.StartDate, currentEvent.EndDate.Value) : string.Empty,
                StartDate = currentEvent.StartDate
            };

            return(PartialView(model));
        }
        public ActionResult EditEvent(AddEventInputModel model)
        {
            string alertType = "danger";
            string alertMsg  = Resources.EventsResource.EventEditFailure;

            if (ModelState.IsValid)
            {
                try
                {
                    var currentEvent = this.events.GetById(model.Id);
                    this.events.Update(currentEvent);
                    if (model.Type == EventType.Course)
                    {
                        var dateRange = model.DateRange.Split(new char[] { '-', }, StringSplitOptions.RemoveEmptyEntries);
                        currentEvent.StartDate = Convert.ToDateTime(dateRange[0]);
                        currentEvent.EndDate   = Convert.ToDateTime(dateRange[1]);
                    }
                    else
                    {
                        currentEvent.StartDate = model.StartDate;
                    }
                    currentEvent.Description = model.Description;
                    currentEvent.Title       = model.Title;
                    currentEvent.Type        = model.Type;

                    this.events.SaveChanges();
                    alertType = "success";
                    alertMsg  = Resources.EventsResource.EventEditSuccess;
                }
                catch (Exception ex)
                {
                    // Log the exception somewhere
                }
            }

            return(Json(new { alertType, alertMsg }, JsonRequestBehavior.AllowGet));
        }