/// <summary> /// Save event schedule /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SaveEventSchedule(EventScheduleManageModel model) { ResponseModel response; var eventSchedule = GetById(model.Id); if (eventSchedule != null) { eventSchedule.EventId = model.EventId; eventSchedule.Location = model.Location; eventSchedule.TimeStart = model.TimeStart ?? DateTime.UtcNow; eventSchedule.TimeEnd = model.TimeEnd; eventSchedule.MaxAttendees = model.MaxAttendees; response = Update(eventSchedule); response.SetMessage(response.Success ? T("EventSchedule_Message_UpdateSuccessfully") : T("EventSchedule_Message_UpdateFailure")); } else { Mapper.CreateMap <EventScheduleManageModel, EventSchedule>(); eventSchedule = Mapper.Map <EventScheduleManageModel, EventSchedule>(model); response = Insert(eventSchedule); response.SetMessage(response.Success ? T("EventSchedule_Message_CreateSuccessfully") : T("EventSchedule_Message_CreateFailure")); } return(response); }
public ActionResult Edit(EventScheduleManageModel model, string returnUrl, SubmitType submit) { if (ModelState.IsValid) { var response = _eventScheduleService.SaveEventSchedule(model); SetResponseMessage(response); if (response.Success) { switch (submit) { case SubmitType.Save: if (!string.IsNullOrEmpty(returnUrl)) { return(Redirect(returnUrl)); } return(RedirectToAction("Index")); case SubmitType.SaveAndContinueEdit: return(RedirectToAction("Edit", new { id = model.Id, returnUrl })); } } } return(View(model)); }
/// <summary> /// Update event schedule data /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel UpdateEventScheduleData(XEditableModel model) { var eventSchedule = GetById(model.Pk); if (eventSchedule != null) { var property = ReflectionUtilities.GetAllPropertiesOfType(typeof(EventScheduleManageModel)) .FirstOrDefault(p => p.Name.Equals(model.Name, StringComparison.CurrentCultureIgnoreCase)); if (property != null) { object value = model.Value.ToType(property, WorkContext.CurrentTimezone); #region Validate var manageModel = new EventScheduleManageModel(eventSchedule); manageModel.SetProperty(model.Name, value); var validationResults = manageModel.ValidateModel(); if (validationResults.Any()) { return(new ResponseModel { Success = false, Message = validationResults.BuildValidationMessages() }); } #endregion eventSchedule.SetProperty(model.Name, value); var response = Update(eventSchedule); return(response.SetMessage(response.Success ? T("EventSchedule_Message_UpdateEventScheduleInfoSuccessfully") : T("EventSchedule_Message_UpdateEventScheduleInfoFailure"))); } return(new ResponseModel { Success = false, Message = T("EventSchedule_Message_PropertyNotFound") }); } return(new ResponseModel { Success = false, Message = T("EventSchedule_Message_ObjectNotFound") }); }
public ActionResult Create(EventScheduleManageModel model, SubmitType submit) { if (ModelState.IsValid) { var response = _eventScheduleService.SaveEventSchedule(model); SetResponseMessage(response); if (response.Success) { var eventScheduleId = (int)response.Data; switch (submit) { case SubmitType.Save: return(RedirectToAction("Index")); case SubmitType.SaveAndContinueEdit: return(RedirectToAction("Edit", new { id = eventScheduleId })); } } } return(View(model)); }
public ActionResult PopupEdit(EventScheduleManageModel model, SubmitType submit) { if (ModelState.IsValid) { var response = _eventScheduleService.SaveEventSchedule(model); SetResponseMessage(response); if (response.Success) { switch (submit) { case SubmitType.PopupSave: return(View("CloseFancyBox", new CloseFancyBoxViewModel { IsReload = true })); case SubmitType.SaveAndContinueEdit: return(RedirectToAction("PopupEdit", new { id = model.Id })); } } } return(View(model)); }