Kaynağa Gözat

[WebApiUtils] Simplified BMRHandler

develop
Robin Thoni 10 yıl önce
ebeveyn
işleme
de8d5e260d

+ 6
- 6
WebAPiUtils-test/Controllers/ValuesController.cs Dosyayı Görüntüle

7
 
7
 
8
 namespace WebAPiUtils_test.Controllers
8
 namespace WebAPiUtils_test.Controllers
9
 {
9
 {
10
-    public class ValuesController : ApiController
10
+    public class ValuesController : BMRHandler
11
     {
11
     {
12
         [HttpGet]
12
         [HttpGet]
13
         [Route("api/values/{id}")]
13
         [Route("api/values/{id}")]
14
         public ValuesDboGet Get(int id)
14
         public ValuesDboGet Get(int id)
15
         {
15
         {
16
-            return BMRHandler<ValuesDboGet>.Handle(ValuesBusiness.Get(id), Request);
16
+            return Handle(ValuesBusiness.Get(id));
17
         }
17
         }
18
 
18
 
19
         [HttpGet]
19
         [HttpGet]
20
         [Route("api/values/contains")]
20
         [Route("api/values/contains")]
21
         public DboGetMultiple<ValuesDboGet> Contains(string text, int page = 0, int perPage = Int32.MaxValue)
21
         public DboGetMultiple<ValuesDboGet> Contains(string text, int page = 0, int perPage = Int32.MaxValue)
22
         {
22
         {
23
-            return BMRHandler<DboGetMultiple<ValuesDboGet>>.Handle(ValuesBusiness.Contains(text, page, perPage), Request);
23
+            return Handle(ValuesBusiness.Contains(text, page, perPage));
24
         }
24
         }
25
 
25
 
26
         [HttpPost]
26
         [HttpPost]
27
         [Route("api/values/edit/{id}")]
27
         [Route("api/values/edit/{id}")]
28
         public bool Edit(long id, ValuesDboEdit obj)
28
         public bool Edit(long id, ValuesDboEdit obj)
29
         {
29
         {
30
-            return BMRHandler<bool>.Handle(ValuesBusiness.Edit(obj, id), Request);
30
+            return Handle(ValuesBusiness.Edit(obj, id));
31
         }
31
         }
32
 
32
 
33
         [HttpPost]
33
         [HttpPost]
34
         [Route("api/values/add")]
34
         [Route("api/values/add")]
35
         public long Add(ValuesDboAdd obj)
35
         public long Add(ValuesDboAdd obj)
36
         {
36
         {
37
-            return BMRHandler<long>.Handle(ValuesBusiness.Add(obj), Request);
37
+            return Handle(ValuesBusiness.Add(obj));
38
         }
38
         }
39
 
39
 
40
         [HttpPost]
40
         [HttpPost]
41
         [Route("api/values/adddbo")]
41
         [Route("api/values/adddbo")]
42
         public ValuesDboGet AddDbo(ValuesDboAdd obj)
42
         public ValuesDboGet AddDbo(ValuesDboAdd obj)
43
         {
43
         {
44
-            return BMRHandler<ValuesDboGet>.Handle(ValuesBusiness.AddDbo(obj), Request);
44
+            return Handle(ValuesBusiness.AddDbo(obj));
45
         }
45
         }
46
     }
46
     }
47
 }
47
 }

+ 1
- 1
WebAPiUtils-test/WebAPiUtils-test.csproj Dosyayı Görüntüle

48
       <Private>True</Private>
48
       <Private>True</Private>
49
     </Reference>
49
     </Reference>
50
     <Reference Include="Logs, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
50
     <Reference Include="Logs, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
51
-      <HintPath>..\packages\Logs.dll.1.2.2\lib\net45\Logs.dll</HintPath>
51
+      <HintPath>..\packages\Logs.dll.1.2.5\lib\net45\Logs.dll</HintPath>
52
       <Private>True</Private>
52
       <Private>True</Private>
53
     </Reference>
53
     </Reference>
54
     <Reference Include="Microsoft.CSharp" />
54
     <Reference Include="Microsoft.CSharp" />

+ 1
- 1
WebAPiUtils-test/packages.config Dosyayı Görüntüle

8
   <package id="EnterpriseLibrary.Logging.Database" version="6.0.1304.0" targetFramework="net45" />
8
   <package id="EnterpriseLibrary.Logging.Database" version="6.0.1304.0" targetFramework="net45" />
9
   <package id="EntityFramework" version="6.1.3" targetFramework="net45" />
9
   <package id="EntityFramework" version="6.1.3" targetFramework="net45" />
10
   <package id="jQuery" version="1.10.2" targetFramework="net45" />
10
   <package id="jQuery" version="1.10.2" targetFramework="net45" />
11
-  <package id="Logs.dll" version="1.2.2" targetFramework="net45" />
11
+  <package id="Logs.dll" version="1.2.5" targetFramework="net45" />
12
   <package id="Microsoft.AspNet.Mvc" version="5.0.0" targetFramework="net45" />
12
   <package id="Microsoft.AspNet.Mvc" version="5.0.0" targetFramework="net45" />
13
   <package id="Microsoft.AspNet.Razor" version="3.0.0" targetFramework="net45" />
13
   <package id="Microsoft.AspNet.Razor" version="3.0.0" targetFramework="net45" />
14
   <package id="Microsoft.AspNet.Web.Optimization" version="1.1.1" targetFramework="net45" />
14
   <package id="Microsoft.AspNet.Web.Optimization" version="1.1.1" targetFramework="net45" />

+ 1
- 1
WebApiUtils/BusinessManager/Attributes/ExceptionLoggerAttribute.cs Dosyayı Görüntüle

12
         public override void OnException(HttpActionExecutedContext context)
12
         public override void OnException(HttpActionExecutedContext context)
13
         {
13
         {
14
             var result = Logger.Error<int>(ResultStatus.InternalError, context.Exception);
14
             var result = Logger.Error<int>(ResultStatus.InternalError, context.Exception);
15
-            context.Response = context.Request.CreateErrorResponse(BMRHandler<int>.ResultStatusToHttp(result.Status), BMRHandler<int>.OpResultToString(result));
15
+            context.Response = context.Request.CreateErrorResponse(BMRHandler.ResultStatusToHttp(result.Status), BMRHandler.OpResultToString(result));
16
         }
16
         }
17
     }
17
     }
18
 }
18
 }

+ 4
- 5
WebApiUtils/BusinessManager/BMRHandler.cs Dosyayı Görüntüle

9
     /// <summary>
9
     /// <summary>
10
     /// Handle business manager results
10
     /// Handle business manager results
11
     /// </summary>
11
     /// </summary>
12
-    /// <typeparam name="T">Data type</typeparam>
13
-    public class BMRHandler<T>
12
+    public class BMRHandler : ApiController
14
     {
13
     {
15
         /// <summary>
14
         /// <summary>
16
         /// Converts ResultStatus codes to HttpStatusCodes codes
15
         /// Converts ResultStatus codes to HttpStatusCodes codes
35
         /// </summary>
34
         /// </summary>
36
         /// <param name="result">The result of the operation</param>
35
         /// <param name="result">The result of the operation</param>
37
         /// <returns>The error string</returns>
36
         /// <returns>The error string</returns>
38
-        public static string OpResultToString(OpResult<T> result)
37
+        public static string OpResultToString<T>(OpResult<T> result)
39
         {
38
         {
40
             if (result.PublicDetails != null)
39
             if (result.PublicDetails != null)
41
                 return result.PublicDetails;
40
                 return result.PublicDetails;
58
         /// <param name="result">The result to handle</param>
57
         /// <param name="result">The result to handle</param>
59
         /// <param name="request">The request to handle</param>
58
         /// <param name="request">The request to handle</param>
60
         /// <returns>The data to return to the user</returns>
59
         /// <returns>The data to return to the user</returns>
61
-        public static T Handle(OpResult<T> result, HttpRequestMessage request)
60
+        public T Handle<T>(OpResult<T> result)
62
         {
61
         {
63
             if (result.Status == ResultStatus.Success)
62
             if (result.Status == ResultStatus.Success)
64
                 return result.Data;
63
                 return result.Data;
65
             result.Log();
64
             result.Log();
66
-            var msg = request.CreateErrorResponse(ResultStatusToHttp(result.Status), OpResultToString(result));
65
+            var msg = Request.CreateErrorResponse(ResultStatusToHttp(result.Status), OpResultToString(result));
67
             throw new HttpResponseException(msg);
66
             throw new HttpResponseException(msg);
68
         }
67
         }
69
     }
68
     }

+ 0
- 2279
WebApiUtils/Dynamic Expressions.html
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 0
- 3
WebApiUtils/WebApiUtils.csproj Dosyayı Görüntüle

103
     <None Include="app.config" />
103
     <None Include="app.config" />
104
     <None Include="packages.config" />
104
     <None Include="packages.config" />
105
   </ItemGroup>
105
   </ItemGroup>
106
-  <ItemGroup>
107
-    <Content Include="Dynamic Expressions.html" />
108
-  </ItemGroup>
109
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
106
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
110
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
107
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
111
        Other similar extension points exist, see Microsoft.Common.targets.
108
        Other similar extension points exist, see Microsoft.Common.targets.

Loading…
İptal
Kaydet