private PartialViewResult InteractionEventViewEdit(EditInteractionEventViewModel viewModel, EditInteractionEventEditType editInteractionEventEditType)
        {
            var interactionEventTypes = HttpRequestStorage.DatabaseEntities.InteractionEventTypes.ToList();
            var allPeople             = HttpRequestStorage.DatabaseEntities.People.OrderBy(x => x.LastName).ToList();
            var allProjects           = HttpRequestStorage.DatabaseEntities.Projects;

            var viewData = new EditInteractionEventViewData(CurrentPerson, editInteractionEventEditType, interactionEventTypes, allPeople, viewModel.InteractionEventID, allProjects);

            return(RazorPartialView <EditInteractionEvent, EditInteractionEventViewData, EditInteractionEventViewModel>(viewData, viewModel));
        }
        public ActionResult New(EditInteractionEventViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(InteractionEventViewEdit(viewModel, EditInteractionEventEditType.NewInteractionEventEdit));
            }

            var interactionEvent = new InteractionEvent(viewModel.InteractionEventTypeID, viewModel.Title, viewModel.Date);

            viewModel.UpdateModel(interactionEvent, CurrentPerson, new List <InteractionEventProject>(), new List <InteractionEventContact>());
            HttpRequestStorage.DatabaseEntities.InteractionEvents.Add(interactionEvent);
            SetMessageForDisplay($"{FieldDefinition.InteractionEvent.FieldDefinitionDisplayName} \"{interactionEvent.InteractionEventTitle}\" successfully created.");
            return(new ModalDialogFormJsonResult());
        }
        public ActionResult EditInteractionEvent(InteractionEventPrimaryKey interactionEventPrimaryKey, EditInteractionEventViewModel viewModel)
        {
            var interactionEvent = interactionEventPrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(InteractionEventViewEdit(viewModel, EditInteractionEventEditType.ExistingInteractionEventEdit));
            }
            HttpRequestStorage.DatabaseEntities.InteractionEventProjects.Load();
            var interactionEventProjects = HttpRequestStorage.DatabaseEntities.InteractionEventProjects.Local;

            HttpRequestStorage.DatabaseEntities.InteractionEventContacts.Load();
            var interactionEventContacts = HttpRequestStorage.DatabaseEntities.InteractionEventContacts.Local;

            viewModel.UpdateModel(interactionEvent, CurrentPerson, interactionEventProjects, interactionEventContacts);

            HttpRequestStorage.DatabaseEntities.SaveChanges();

            return(new ModalDialogFormJsonResult());
        }
        public PartialViewResult EditInteractionEvent(InteractionEventPrimaryKey interactionEventPrimaryKey)
        {
            var viewModel = new EditInteractionEventViewModel(interactionEventPrimaryKey.EntityObject);

            return(InteractionEventViewEdit(viewModel, EditInteractionEventEditType.ExistingInteractionEventEdit));
        }
        public PartialViewResult NewForAPerson(PersonPrimaryKey personPrimaryKey)
        {
            var viewModel = new EditInteractionEventViewModel(personPrimaryKey.EntityObject);

            return(InteractionEventViewEdit(viewModel, EditInteractionEventEditType.NewInteractionEventEdit));
        }
        public PartialViewResult New()
        {
            var viewModel = new EditInteractionEventViewModel();

            return(InteractionEventViewEdit(viewModel, EditInteractionEventEditType.NewInteractionEventEdit));
        }