public ActionResult Create() { var viewModel = new EditEventViewModel { Date = DateTime.Now, RoomNumber = 1 }; return View(viewModel); }
public ActionResult Create(MyEventsIdentity identity, EditEventViewModel viewModel) { SetLogo(viewModel, ModelState); if (!ModelState.IsValid) return View(viewModel); var eventDefinition = new EventDefinition(); MapViewModelToEventDefinition(viewModel, eventDefinition); eventDefinition.OrganizerId = identity.UserId; _eventsRepository.Add(eventDefinition); ResetLogo(); return RedirectToAction("Index", "Home"); }
private void SetLogo(EditEventViewModel viewModel, ModelStateDictionary modelState) { bool hasLogo = Session[CurrentLogoKey] != null; if(hasLogo) { viewModel.Logo = (byte[])Session[CurrentLogoKey]; viewModel.IsLogoSetted = true; viewModel.HasLogo = true; if(modelState.ContainsKey("HasLogo")) modelState.Remove("HasLogo"); } }
private void MapViewModelToEventDefinition(EditEventViewModel viewModel, EventDefinition eventDefinition) { eventDefinition.Address = viewModel.Address; eventDefinition.City = viewModel.City; eventDefinition.Date = viewModel.Date; eventDefinition.Description = viewModel.Description; eventDefinition.EndTime = viewModel.EndTime.ToUniversalTime(); eventDefinition.EventDefinitionId = viewModel.EventDefinitionId; eventDefinition.Latitude = viewModel.Latitude; eventDefinition.Longitude = viewModel.Longitude; eventDefinition.Name = viewModel.Name; eventDefinition.RoomNumber = viewModel.RoomNumber; eventDefinition.StartTime = viewModel.StartTime.ToUniversalTime(); eventDefinition.Tags = viewModel.Tags; eventDefinition.TimeZoneOffset = viewModel.TimeZoneOffset; eventDefinition.TwitterAccount = viewModel.TwitterAccount; eventDefinition.ZipCode = viewModel.ZipCode; if (viewModel.IsLogoSetted) eventDefinition.Logo = viewModel.Logo; }
private void MapEventDefinitionToViewModel(EventDefinition eventDefinition, EditEventViewModel viewModel) { viewModel.Address = eventDefinition.Address; viewModel.City = eventDefinition.City; viewModel.Date = eventDefinition.Date; viewModel.Description = eventDefinition.Description; viewModel.EndTime = eventDefinition.EndTime; viewModel.EventDefinitionId = eventDefinition.EventDefinitionId; viewModel.Latitude = eventDefinition.Latitude; viewModel.Longitude = eventDefinition.Longitude; viewModel.Name = eventDefinition.Name; viewModel.RoomNumber = eventDefinition.RoomNumber; viewModel.StartTime = eventDefinition.StartTime; viewModel.Tags = eventDefinition.Tags; viewModel.TimeZoneOffset = eventDefinition.TimeZoneOffset; viewModel.TwitterAccount = eventDefinition.TwitterAccount; viewModel.ZipCode = eventDefinition.ZipCode; }
public ActionResult Edit(MyEventsIdentity identity, EditEventViewModel viewModel) { SetLogo(viewModel, ModelState); if (!ModelState.IsValid) return View(viewModel); var eventDefinition = _eventsRepository.GetById(viewModel.EventDefinitionId); _authorizationService.ValidateEventAuthorization(identity, eventDefinition); MapViewModelToEventDefinition(viewModel, eventDefinition); _eventsRepository.Update(eventDefinition); ResetLogo(); return RedirectToAction("Index", "Home"); }
public ActionResult Edit(MyEventsIdentity identity, int eventDefinitionId) { EventDefinition eventDefinition = _eventsRepository.GetById(eventDefinitionId); _authorizationService.ValidateEventAuthorization(identity, eventDefinition); var viewModel = new EditEventViewModel() { HasLogo = true }; MapEventDefinitionToViewModel(eventDefinition, viewModel); ResetLogo(); return View(viewModel); }