Как бы вы изменили этот код?
1) Код, который проверяет, вошел ли пользователь в систему, должен быть перемещен:
if (!(Session["MemberLoggedIn"] is Member)) return Json(string.Empty);
Member member = (Member)Session["MemberLoggedIn"];
Это междисциплинарная проблема, которая должна применяться с использованием инфраструктуры безопасности, в качестве примера можно привести Spring.
2) Я бы не использовал одноэлементный шаблон для представления этих сценариев использования, они могут быстро превратиться в набор скриптов, которые при увеличении размера может быть трудно понять, где разместить код. Попробуйте вместо этого использовать шаблон команды.
Этот шаблон позволит вам возвращать результаты в виде JSON, XML или любого другого формата на основе интерфейсов, которым ваша команда также соответствует.
class DeleteMusicStyleByBandCommand : JsonResultModelCommand, XmlResultModelCommand {
public DeleteMusicStyleByBand(int id, int typeid) {
//set private members
}
public void execute() {
..
}
public JsonResult getJsonResult() { .. }
public XmlResult getXmlResult() { .. }
}
Шаблон Command IMHO гораздо лучше представляет варианты использования, чем многие методы в Сервисе.