public JsonResult HandlePartyImageForm(PartyImageForm partyImageForm) { FormResponse formResponse = new FormResponse(); if (this.ModelState.IsValid) { PartyHost partyHost = (PartyHost)this.Members.GetCurrentPartier(); IPartyImage partyImage = (IPartyImage)this.Umbraco.TypedMedia(partyImageForm.PartyImage); // if new image is a csm default and old is a custom upload, then delete the custom upload if (partyImage is Image & partyHost.PartyImage is PartyImage) { partyHost.PartyImage = null; } // set new partyHost.PartyImage = partyImage; formResponse.Success = true; } else { formResponse.Errors = this.ModelState.GetErrors(); } return(Json(formResponse, "text/plain")); }
public JsonResult HandleCustomPartyImageForm(CustomPartyImageForm customPartyImageForm) { FormResponse formResponse = new FormResponse(); if (this.ModelState.IsValid && customPartyImageForm.CustomPartyImage.ContentLength > 0 && customPartyImageForm.CustomPartyImage.InputStream.IsImage()) { PartyHost partyHost = (PartyHost)this.Members.GetCurrentMember(); // get any existing party image IPartyImage partyImage = partyHost.PartyImage; string url = string.Empty; if (partyImage == null || partyImage is Image) // not set, or a cms default { // create new custom party image partyImage = PartyImages.CreatePartyImage(customPartyImageForm.CustomPartyImage); // get new url url = partyImage.Url; // ensure reference partyHost.PartyImage = partyImage; } else // if (partyImage is PartyImage) // it's already a custom image so update the file only within the same media item { // update existing media item file reference url = ((PartyImage)partyImage).UploadImage(customPartyImageForm.CustomPartyImage); } formResponse.Message = JsonConvert.SerializeObject(new { id = partyImage.Id, url = url }); //TODO:S3URL formResponse.Success = true; } return(Json(formResponse, "text/plain")); }