using Pilz.Net.Api; using Pilz.Net.Api.Messages; using System.Net; namespace Pilz.Net.Extensions; public static class ApiMessageExtensions { public static ApiResult ToItemResult(this T? @this) { return @this.ToItemResult(HttpStatusCode.OK); } public static ApiResult ToItemResult(this T? @this, HttpStatusCode statusCode) { if (@this == null) return ApiResult.NotFound(); return new ApiResult(statusCode, @this.ToItemMsg()); } public static ApiResult ToItemsResult(this IEnumerable? @this) { return @this.ToItemsResult(HttpStatusCode.OK); } public static ApiResult ToItemsResult(this IEnumerable? @this, HttpStatusCode statusCode) { if (@this == null) return ApiResult.NotFound(); return new ApiResult(statusCode, @this.ToItemsMsg()); } public static GeneralItemMessages.Item ToItemMsg(this T @this) { return new GeneralItemMessages.Item(@this); } public static GeneralItemMessages.Items ToItemsMsg(this IEnumerable @this) { return new GeneralItemMessages.Items([.. @this]); } public static GeneralItemMessages.Items ToItemsMsg(this T[] @this) { return new GeneralItemMessages.Items([.. @this]); } }