public ActionResult Create(CreateEventResponseModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Flyer.ContentLength > 5000000)
                    DisplayError("Flyer is to large, please user a smaller image.");
                else
                {

                    var evt = Mapper.Map<CreateEventResponseModel, Event>(model);
                    evt.Owner = User;
                    evt.Flyer = CreateImageLocally(Entities.Event.FlyerSizes, model.Flyer);
                    evt.Location = Mapper.Map<Address, Entities.Address>(model.Address);
                    evt = _eventService.SaveEvent(evt);

                    if (evt.IsValid)
                    {
                        DisplayMessage("Event created successfully.");
                        return RedirectToAction("Index");
                    }
                    AddValidationResults(evt.InvalidValues);
                    DisplayError("Event was not created successfully.");
                }
            }

            return View(MapToCreatEventViewModel(model));
        }
        private CreateEventViewModel MapToCreatEventViewModel(CreateEventResponseModel responseModel)
        {
            var occurrenceOptions = EnumExtensions.GetTypedValuesAsSelectList<EventOccurrence>().ToList();
            occurrenceOptions.FirstOrDefault(x =>
                                        {
                                            EventOccurrence value;
                                            return !Enum.TryParse(x.Value.ToString(), out value) || value != responseModel.Occurrence;
                                        }).Selected = true;

            var privacyOptions = EnumExtensions.GetTypedValuesAsSelectList<PrivacySetting>().ToList();
            privacyOptions.FirstOrDefault(x =>
                                        {
                                            PrivacySetting value;
                                            return !Enum.TryParse(x.Value.ToString(), out value) || value != responseModel.Privacy;
                                        }).Selected = true;
            var typeOptions = EnumExtensions.GetTypedValuesAsSelectList<EventType>().ToList();
            typeOptions.FirstOrDefault(x =>
                                           {
                                               EventType value;
                                               return !Enum.TryParse(x.Value.ToString(), out value) || value != responseModel.Type;
                                           }).Selected = true;
            var viewModel = Mapper.Map<CreateEventResponseModel, CreateEventViewModel>(responseModel);
            viewModel.Creator = new InlineLabel { Value = string.Format("{0} {1}", User.FirstName, User.LastName) };
            viewModel.Occurrence = new DropDown { PropertyName = "Occurrence", Items = occurrenceOptions };
            viewModel.Privacy = new DropDown { PropertyName = "Privacy", Items = privacyOptions };
            viewModel.Description = new RichTextArea { PropertyName = "Description", PropertyValue = responseModel.Description };
            viewModel.Flyer = new FileUpload { PropertyName = "Flyer" };
            viewModel.Type = new DropDown {PropertyName = "Type", Items = typeOptions};

            return viewModel;
        }