private PartialViewResult ViewDeleteInteractionEventFile(InteractionEventFileResource interactionEventFileResource, ConfirmDialogFormViewModel viewModel)
        {
            var confirmMessage = $"Are you sure you want to delete this \"{interactionEventFileResource.DisplayName}\" file created on '{interactionEventFileResource.FileResource.CreateDate}' by '{interactionEventFileResource.FileResource.CreatePerson.FullNameFirstLast}'?";
            var viewData       = new ConfirmDialogFormViewData(confirmMessage, true);

            return(RazorPartialView <ConfirmDialogForm, ConfirmDialogFormViewData, ConfirmDialogFormViewModel>(viewData, viewModel));
        }
        public void UpdateModel(Models.InteractionEvent interactionEvent, Person currentPerson, ICollection <InteractionEventProject> allInteractionEventProjects, ICollection <InteractionEventContact> allInteractionEventContacts)
        {
            interactionEvent.InteractionEventTypeID      = InteractionEventTypeID;
            interactionEvent.InteractionEventDate        = Date;
            interactionEvent.InteractionEventTitle       = Title;
            interactionEvent.InteractionEventDescription = Description;
            interactionEvent.StaffPersonID = DNRStaffPersonID;
            if (InteractionEventProjects != null)
            {
                var interactionEventProjectsUpdated = InteractionEventProjects
                                                      .Where(x => ModelObjectHelpers.IsRealPrimaryKeyValue(x.ProjectID)).Select(x =>
                                                                                                                                new Models.InteractionEventProject(interactionEvent.InteractionEventID, x.ProjectID)).ToList();

                interactionEvent.InteractionEventProjects.Merge(interactionEventProjectsUpdated,
                                                                allInteractionEventProjects,
                                                                (x, y) => x.InteractionEventID == y.InteractionEventID && x.ProjectID == y.ProjectID);
            }

            if (InteractionEventContacts != null)
            {
                var interactionEventContactsUpdated = InteractionEventContacts.Where(x => ModelObjectHelpers.IsRealPrimaryKeyValue(x.PersonID)).Select(x =>
                                                                                                                                                       new Models.InteractionEventContact(interactionEvent.InteractionEventID, x.PersonID)).ToList();

                interactionEvent.InteractionEventContacts.Merge(interactionEventContactsUpdated,
                                                                allInteractionEventContacts,
                                                                (x, y) => x.InteractionEventID == y.InteractionEventID && x.PersonID == y.PersonID);
            }

            if (InteractionEventFileResourceData?[0] != null)
            {
                var fileResources = InteractionEventFileResourceData.Select(fileData =>
                                                                            FileResource.CreateNewFromHttpPostedFile(fileData, currentPerson));

                foreach (var fileResource in fileResources)
                {
                    HttpRequestStorage.DatabaseEntities.FileResources.Add(fileResource);
                    var interactionEventFileResource = new InteractionEventFileResource(interactionEvent, fileResource, fileResource.OriginalCompleteFileName);
                    interactionEvent.InteractionEventFileResources.Add(interactionEventFileResource);
                }
            }
        }