Skip to content

Commit b5cb752

Browse files
authored
Merge pull request #50 from Gid733/master
Fixes and additions
2 parents 4342b47 + 7146127 commit b5cb752

32 files changed

+410
-169
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace eFormAPI.Common.Models.Templates
2+
{
3+
public class TemplateColumnModel
4+
{
5+
public int Id { get; set; }
6+
public string Label { get; set; }
7+
}
8+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
namespace eFormAPI.Common.Models.Templates
2+
{
3+
public class TemplateRequestModel
4+
{
5+
public string Sort { get; set; }
6+
public string NameFilter { get; set; }
7+
public int PageIndex { get; set; }
8+
public int PageSize { get; set; }
9+
public bool IsSortDsc { get; set; }
10+
public int Offset { get; set; }
11+
12+
public TemplateRequestModel()
13+
{
14+
Sort = "";
15+
NameFilter = "";
16+
PageSize = 10;
17+
PageIndex = 0;
18+
Offset = 0;
19+
}
20+
}
21+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using System.Collections.Generic;
2+
using eFormShared;
3+
4+
namespace eFormAPI.Common.Models.Templates
5+
{
6+
public class TemplateListModel
7+
{
8+
public TemplateListModel()
9+
{
10+
}
11+
12+
public TemplateListModel(int numOfElements, int pageNum, List<Template_Dto> templates)
13+
{
14+
NumOfElements = numOfElements;
15+
PageNum = pageNum;
16+
Templates = templates;
17+
}
18+
19+
public int NumOfElements { get; set; }
20+
21+
public int PageNum { get; set; }
22+
23+
public List<Template_Dto> Templates { get; set; }
24+
}
25+
}

eFormAPI/eFormAPI.Common/eFormAPI.Common.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,9 @@
9393
<Compile Include="Models\Settings\Initial\ConnectionStringMainModel.cs" />
9494
<Compile Include="Models\Settings\Initial\ConnectionStringSDKModel.cs" />
9595
<Compile Include="Models\Settings\Initial\InitialSettingsModel.cs" />
96-
<Compile Include="Models\TemplateColumnModel.cs" />
96+
<Compile Include="Models\Templates\TemplateColumnModel.cs" />
97+
<Compile Include="Models\Templates\TemplateRequestModel.cs" />
98+
<Compile Include="Models\Templates\TemplatesSearchModel.cs" />
9799
<Compile Include="Models\UpdateTemplateColumnsModel.cs" />
98100
<Compile Include="Models\User\UserInfoViewModel.cs" />
99101
<Compile Include="Models\Cases\Request\CaseEditRequest.cs" />

eFormAPI/eFormAPI/Controllers/TemplateColumnsController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Web.Http;
55
using eFormAPI.Common.API;
66
using eFormAPI.Common.Models;
7+
using eFormAPI.Common.Models.Templates;
78
using eFormAPI.Web.Infrastructure.Helpers;
89

910
namespace eFormAPI.Web.Controllers

eFormAPI/eFormAPI/Controllers/TemplateFilesController.cs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,15 @@ public HttpResponseMessage UploadEformZip()
203203
{
204204
return Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Request!");
205205
}
206-
var saveFolder = core.GetJasperPath();
206+
207+
var saveFolder =
208+
Path.Combine(core.GetJasperPath(),
209+
Path.Combine("templates", templateId.ToString()));
210+
211+
var zipArchiveFolder =
212+
Path.Combine(core.GetJasperPath(),
213+
Path.Combine("templates", Path.Combine("zip-archives", templateId.ToString())));
214+
207215
if (string.IsNullOrEmpty(saveFolder))
208216
{
209217
return Request.CreateResponse(HttpStatusCode.BadRequest, "Folder error");
@@ -212,15 +220,19 @@ public HttpResponseMessage UploadEformZip()
212220
{
213221
Directory.CreateDirectory(saveFolder);
214222
}
223+
if (!Directory.Exists(zipArchiveFolder))
224+
{
225+
Directory.CreateDirectory(zipArchiveFolder);
226+
}
215227
var files = HttpContext.Current.Request.Files;
216228
if (files.Count > 0)
217229
{
218230
var httpPostedFile = files[0];
219231
if (httpPostedFile.ContentLength > 0)
220232
{
221-
var filePath = Path.Combine(saveFolder, Path.GetFileName(httpPostedFile.FileName));
222-
var extractPath = Path.Combine(saveFolder, "extract");
223-
if (!File.Exists(filePath))
233+
var filePath = Path.Combine(zipArchiveFolder, Path.GetFileName(httpPostedFile.FileName));
234+
var extractPath = Path.Combine(saveFolder);
235+
if (File.Exists(filePath))
224236
{
225237
httpPostedFile.SaveAs(filePath);
226238
}
@@ -230,6 +242,11 @@ public HttpResponseMessage UploadEformZip()
230242
{
231243
Directory.CreateDirectory(extractPath);
232244
}
245+
else
246+
{
247+
FoldersHelper.ClearFolder(extractPath);
248+
}
249+
233250
ZipFile.ExtractToDirectory(filePath, extractPath);
234251
return Request.CreateResponse(HttpStatusCode.OK);
235252
}

eFormAPI/eFormAPI/Controllers/TemplatesController.cs

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using System.Web.Http;
1111
using eFormAPI.Common.API;
1212
using eFormAPI.Common.Models;
13+
using eFormAPI.Common.Models.Templates;
1314
using eFormAPI.Web.Infrastructure.Helpers;
1415
using eFormCore;
1516
using eFormShared;
@@ -20,30 +21,38 @@ namespace eFormAPI.Web.Controllers
2021
public class TemplatesController : ApiController
2122
{
2223
private readonly EFormCoreHelper _coreHelper = new EFormCoreHelper();
23-
24-
[HttpGet]
25-
public OperationDataResult<List<Template_Dto>> Index()
24+
25+
[HttpPost]
26+
public OperationDataResult<TemplateListModel> Index(TemplateRequestModel templateRequestModel)
2627
{
2728
try
2829
{
2930
try
3031
{
3132
var core = _coreHelper.GetCore();
3233
var templatesDto = core.TemplateItemReadAll(false);
33-
return new OperationDataResult<List<Template_Dto>>(true, templatesDto);
34+
35+
var model = new TemplateListModel
36+
{
37+
NumOfElements = 40,
38+
PageNum = templateRequestModel.PageIndex,
39+
Templates = templatesDto
40+
};
41+
42+
43+
return new OperationDataResult<TemplateListModel>(true, model);
3444
}
3545
catch (Exception ex)
3646
{
3747
if (ex.Message.Contains("PrimeDb"))
3848
{
39-
var lines =
40-
System.IO.File.ReadAllLines(
49+
var lines = File.ReadAllLines(
4150
System.Web.Hosting.HostingEnvironment.MapPath("~/bin/Input.txt"));
4251

4352
var connectionStr = lines.First();
4453
var adminTool = new AdminTools(connectionStr);
4554
adminTool.DbSettingsReloadRemote();
46-
return new OperationDataResult<List<Template_Dto>>(false, "Check connection string");
55+
return new OperationDataResult<TemplateListModel>(false, "Check connection string");
4756
}
4857
else
4958
{
@@ -55,12 +64,12 @@ public OperationDataResult<List<Template_Dto>> Index()
5564
}
5665
catch (Exception ex2)
5766
{
58-
return new OperationDataResult<List<Template_Dto>>(false, "Core is not started.");
67+
return new OperationDataResult<TemplateListModel>(false, "Core is not started.");
5968
}
60-
return new OperationDataResult<List<Template_Dto>>(false, "Check settings before proceed");
69+
return new OperationDataResult<TemplateListModel>(false, "Check settings before proceed");
6170
}
6271
}
63-
return new OperationDataResult<List<Template_Dto>>(false, "Check settings before proceed");
72+
return new OperationDataResult<TemplateListModel>(false, "Check settings before proceed");
6473
}
6574
}
6675
catch (Exception)
@@ -243,19 +252,18 @@ public OperationResult Deploy(DeployModel deployModel)
243252
public HttpResponseMessage Csv(int id)
244253
{
245254
var core = _coreHelper.GetCore();
246-
247255
var fileName = $"{id}_{DateTime.Now.Ticks}.csv";
248-
System.IO.Directory.CreateDirectory(System.Web.Hosting.HostingEnvironment.MapPath("~/bin/output/"));
256+
Directory.CreateDirectory(System.Web.Hosting.HostingEnvironment.MapPath("~/bin/output/"));
249257
var filePath = System.Web.Hosting.HostingEnvironment.MapPath($"~/bin/output/{fileName}");
250258
var fullPath = core.CasesToCsv(id, null, null, filePath,
251-
$"{core.GetHttpServerAddress()}/api/template-files/get-image?&filename=");
259+
$"{Request.RequestUri.Scheme}://{Request.RequestUri.Authority}/api/templates/getimage?&filename=");
252260

253261
var result = new HttpResponseMessage(HttpStatusCode.OK);
254262
var fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read);
255263

256264
result.Content = new StreamContent(fileStream);
257-
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
258-
result.Content.Headers.ContentDisposition.FileName = fileName;
265+
result.Content.Headers.ContentDisposition =
266+
new ContentDispositionHeaderValue("attachment") {FileName = fileName};
259267
result.Content.Headers.ContentType =
260268
new MediaTypeHeaderValue("application/octet-stream");
261269
return result;
@@ -340,7 +348,7 @@ public HttpResponseMessage GetPdfFile(string fileName)
340348
result.Content.Headers.ContentDisposition =
341349
new ContentDispositionHeaderValue("attachment") {FileName = fileName};
342350
result.Content.Headers.ContentType =
343-
new MediaTypeHeaderValue($"application/pdf");
351+
new MediaTypeHeaderValue("application/pdf");
344352
return result;
345353
}
346354

@@ -365,7 +373,7 @@ public HttpResponseMessage DownloadEFormPDF(int templateId)
365373
result.Content.Headers.ContentDisposition =
366374
new ContentDispositionHeaderValue("attachment") {FileName = ""}; // TODO: FIX
367375
result.Content.Headers.ContentType =
368-
new MediaTypeHeaderValue($"application/pdf");
376+
new MediaTypeHeaderValue("application/pdf");
369377
return result;
370378
}
371379
catch (Exception)
@@ -397,7 +405,7 @@ public HttpResponseMessage DownloadEFormXML(int templateId)
397405
result.Content.Headers.ContentDisposition =
398406
new ContentDispositionHeaderValue("attachment") {FileName = ""}; // TODO: FIX
399407
result.Content.Headers.ContentType =
400-
new MediaTypeHeaderValue($"application/pdf");
408+
new MediaTypeHeaderValue("application/pdf");
401409
return result;
402410
}
403411
catch (Exception)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.IO;
2+
3+
namespace eFormAPI.Web.Infrastructure.Helpers
4+
{
5+
public class FoldersHelper
6+
{
7+
public static void ClearFolder(string FolderName)
8+
{
9+
DirectoryInfo dir = new DirectoryInfo(FolderName);
10+
11+
foreach(FileInfo fi in dir.GetFiles())
12+
{
13+
fi.Delete();
14+
}
15+
16+
foreach (DirectoryInfo di in dir.GetDirectories())
17+
{
18+
ClearFolder(di.FullName);
19+
di.Delete();
20+
}
21+
}
22+
}
23+
}

eFormAPI/eFormAPI/eFormAPI.Web.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@
261261
<Compile Include="Infrastructure\Helpers\EFormCoreHelper.cs" />
262262
<Compile Include="Infrastructure\Data\BaseDbContext.cs" />
263263
<Compile Include="Infrastructure\Data\Entities\EformRoleStore.cs" />
264+
<Compile Include="Infrastructure\Helpers\FoldersHelper.cs" />
264265
<Compile Include="Infrastructure\Helpers\SettingsHelper.cs" />
265266
<Compile Include="Infrastructure\Identity\EformRoleManager.cs" />
266267
<Compile Include="Infrastructure\Data\Entities\EformUser.cs" />

eFormAPI/eFormAPI/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
<package id="Microsoft.Owin.Security.Cookies" version="3.1.0" targetFramework="net46" />
3434
<package id="Microsoft.Owin.Security.OAuth" version="3.1.0" targetFramework="net46" />
3535
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net46" />
36-
<package id="Microting.eForm" version="1.6.4.13" targetFramework="net461" />
36+
<package id="Microting.eForm" version="1.6.4.13" targetFramework="net46" />
3737
<package id="Modernizr" version="2.8.3" targetFramework="net46" />
3838
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net46" />
3939
<package id="NLog" version="4.4.11" targetFramework="net46" />

0 commit comments

Comments
 (0)