public ActionResult ChangeAlbumOwner(int albumId, string ownerName) { // POST /api/albums/changealbumowner?albumId=99&ownerName=Bob try { string oldOwnerName; var album = AlbumController.ChangeOwner(albumId, ownerName, out oldOwnerName); return(new ActionResult() { Status = ActionResultStatus.Success.ToString(), Title = Resources.GalleryServer.UC_Album_Owner_Changed_Hdr, Message = (string.IsNullOrWhiteSpace(ownerName) ? string.Format(CultureInfo.InvariantCulture, Resources.GalleryServer.UC_Album_Owner_Removed, oldOwnerName) : string.Format(CultureInfo.InvariantCulture, Resources.GalleryServer.UC_Album_Owner_Changed_Dtl, album.OwnerUserName)), ActionTarget = album.OwnerUserName }); } catch (GallerySecurityException ex) { return(new ActionResult() { Status = ActionResultStatus.Error.ToString(), Title = "Cannot Change Album Owner", Message = ex.Message }); } catch (InvalidAlbumException ex) { return(new ActionResult() { Status = ActionResultStatus.Error.ToString(), Title = "Cannot Change Album Owner", Message = ex.Message }); } catch (Exception ex) { AppEventController.LogError(ex); throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = Utils.GetExStringContent(ex), ReasonPhrase = "Server Error" }); } }