public ActionResult _GetCohostEditions(int editionId) { var cohosts = EditionCoHostServices.GetEditionCohosts(editionId); var model = new CohostEditionListModel { EditionId = editionId, EditionCohosts = cohosts }; return(PartialView("_CohostEditions", model)); }
public ActionResult _DeleteCohostEdition(int cohostEditionId) { var cohostEdition = EditionCoHostServices.GetEditionCohostById(cohostEditionId); if (cohostEdition == null) { return(Json(new { success = false, message = "Co-host doesn't exist." }, JsonRequestBehavior.AllowGet)); } var edition = EditionServices.GetEditionById(cohostEdition.FirstEditionId); if (edition == null) { return(Json(new { success = false, message = "Edition doesn't exist." }, JsonRequestBehavior.AllowGet)); } var deleted = EditionCoHostServices.DeleteEditionCohost(cohostEditionId); if (!deleted) { return(Json(new { success = false, message = "Co-host could not be removed." }, JsonRequestBehavior.AllowGet)); } var cohostCount = SetEditionCohostedEventStatus(cohostEdition.FirstEditionId); // UPDATE EDITION UpdateEditionUpdateInfo(edition); // DIFF var diff = new List <Variance> { new Variance { Prop = "Co-host", ValA = null, ValB = cohostEdition.FirstEdition.EditionName } }; OnEditionUpdated(edition, diff); // UPDATE LOG var updatedFields = NotificationControllerHelper.GetUpdatedFieldsAsJson("Co-host", new List <Variance> { new Variance { Prop = "Co-host" } }); UpdateLogInMemory(edition, updatedFields); return(Json(new { success = true, message = "Co-host has been removed.", cohostCount = cohostCount }, JsonRequestBehavior.AllowGet)); }
private int SetEditionCohostedEventStatus(int editionId) { var cohosts = EditionCoHostServices.GetEditionCohosts(editionId); if (!cohosts.Any() || cohosts.Count == 1) { var edition = EditionServices.GetEditionById(editionId); var currentEdition = (EditionEntity)edition.Clone(); edition.CohostedEvent = cohosts.Any(); EditionServices.UpdateEdition(editionId, edition, CurrentCedUser.CurrentUser.UserId); UpdateLogInMemory(currentEdition, edition, null, null); } return(cohosts.Count); }
public ActionResult _AddCohostEdition(int editionId, int cohostEditionId) { var edition = EditionServices.GetEditionById(editionId); if (edition == null) { return(Json(new { success = false, message = "Edition doesn't exist." }, JsonRequestBehavior.AllowGet)); } var cohostEdition = EditionServices.GetEditionById(cohostEditionId); if (cohostEdition == null) { return(Json(new { success = false, message = "Co-host edition doesn't exist." }, JsonRequestBehavior.AllowGet)); } if (EditionCoHostServices.EditionCohostExists(editionId, cohostEditionId)) { return(Json(new { success = false, message = "Co-host already exists." }, JsonRequestBehavior.AllowGet)); } if (cohostEditionId == editionId) { return(Json(new { success = false, message = "You cannot add the edition itself as its co-host." }, JsonRequestBehavior.AllowGet)); } EditionCoHostServices.CreateEditionCohost(new EditionCohostEntity { FirstEditionId = editionId, SecondEditionId = cohostEditionId } , CurrentCedUser.CurrentUser.UserId ); var cohostCount = SetEditionCohostedEventStatus(editionId); SetEditionCohostedEventStatus(cohostEditionId); // UPDATE EDITION UpdateEditionUpdateInfo(edition); // DIFF var diff = new List <Variance> { new Variance { Prop = "Co-host", ValA = null, ValB = cohostEdition.EditionName } }; OnEditionUpdated(edition, diff); // UPDATE LOG var updatedFields = NotificationControllerHelper.GetUpdatedFieldsAsJson("Co-host", new List <Variance> { new Variance { Prop = "Co-host" } }); UpdateLogInMemory(edition, updatedFields); return(Json(new { success = true, message = "Co-host has been added.", cohostCount = cohostCount }, JsonRequestBehavior.AllowGet)); }