Save last
This commit is contained in:
324
ApiServer/Controllers/DateController.cs
Normal file
324
ApiServer/Controllers/DateController.cs
Normal file
@@ -0,0 +1,324 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Newtonsoft;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using NLog;
|
||||
using DataClient.Struct;
|
||||
using System.IO;
|
||||
using ApiServer.ApiStruct;
|
||||
|
||||
namespace ApiServer.Controllers
|
||||
{
|
||||
[ApiController, Route("[controller]")]
|
||||
public class DateController : ControllerBase
|
||||
{
|
||||
private Logger log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
[HttpPost, Route("getanalog")]
|
||||
public DateGetAnalogClient GetAnalog([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<DateGetAnalogApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask analog: vdp-" +
|
||||
getResult.Vdp.ToString() + " index-" +
|
||||
getResult.Index.ToString() + " " +
|
||||
getResult.Start.ToString("yyyy-MM-dd HH:mm:ss") + " " +
|
||||
getResult.End.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
var list_analogs = new Dictionary<int, List<Structures.Analog>>();
|
||||
var flagDate = new DateTime(
|
||||
getResult.Start.Year,
|
||||
getResult.Start.Month,
|
||||
getResult.Start.Day,
|
||||
0, 0, 0
|
||||
);
|
||||
var sub_res = new List<Structures.Analog>();
|
||||
while (flagDate <= getResult.End)
|
||||
{
|
||||
var analogs = WorkWithFiles.GetAnalogs(flagDate, getResult.Vdp);
|
||||
foreach (var analog_arr in analogs)
|
||||
{
|
||||
if (analog_arr.Index != getResult.Index)
|
||||
continue;
|
||||
Structures.Analog first_analog = null;
|
||||
for (var i = 0; i < analog_arr.Analogs.Length; i++)
|
||||
{
|
||||
if (analog_arr.Analogs[i].start < getResult.Start)
|
||||
{
|
||||
first_analog = analog_arr.Analogs[i];
|
||||
first_analog.start = getResult.Start;
|
||||
continue;
|
||||
}
|
||||
if (analog_arr.Analogs[i].start > getResult.End)
|
||||
continue;
|
||||
if (sub_res.Count == 0 && first_analog != null)
|
||||
sub_res.Add(first_analog);
|
||||
sub_res.Add(analog_arr.Analogs[i]);
|
||||
}
|
||||
}
|
||||
flagDate = flagDate.AddDays(1);
|
||||
}
|
||||
|
||||
return new DateGetAnalogClient()
|
||||
{
|
||||
Analog = sub_res.ToArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
throw;
|
||||
//return new DateGetAnalogClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getanalogs")]
|
||||
public DateGetAnalogsClient GetAnalogs([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<DateGetAnalogsApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask analog: vdp-" +
|
||||
getResult.Vdp.ToString() + " index-" +
|
||||
getResult.Index.ToString() + " " +
|
||||
getResult.Start.ToString("yyyy-MM-dd HH:mm:ss") + " " +
|
||||
getResult.End.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
var list_analogs = new Dictionary<int, List<Structures.Analog>>();
|
||||
var flagDate = new DateTime(
|
||||
getResult.Start.Year,
|
||||
getResult.Start.Month,
|
||||
getResult.Start.Day,
|
||||
0, 0, 0
|
||||
);
|
||||
var sub_res = new Dictionary<int, List<Structures.Analog>>();
|
||||
while (flagDate <= getResult.End)
|
||||
{
|
||||
var analogs = WorkWithFiles.GetAnalogs(flagDate, getResult.Vdp);
|
||||
foreach (var analog_arr in analogs)
|
||||
{
|
||||
if (!getResult.Index.Contains(analog_arr.Index))
|
||||
continue;
|
||||
if (!sub_res.ContainsKey(analog_arr.Index))
|
||||
sub_res.Add(analog_arr.Index, new List<Structures.Analog>());
|
||||
Structures.Analog first_analog = null;
|
||||
for (var i = 0; i < analog_arr.Analogs.Length; i++)
|
||||
{
|
||||
if (analog_arr.Analogs[i].start < getResult.Start)
|
||||
{
|
||||
first_analog = analog_arr.Analogs[i];
|
||||
first_analog.start = getResult.Start;
|
||||
continue;
|
||||
}
|
||||
if (analog_arr.Analogs[i].start > getResult.End)
|
||||
continue;
|
||||
if (sub_res[analog_arr.Index].Count == 0 && first_analog != null)
|
||||
sub_res[analog_arr.Index].Add(first_analog);
|
||||
sub_res[analog_arr.Index].Add(analog_arr.Analogs[i]);
|
||||
}
|
||||
}
|
||||
flagDate = flagDate.AddDays(1);
|
||||
}
|
||||
var result = new List<Structures.AnalogArr>();
|
||||
foreach (var d in sub_res)
|
||||
result.Add(new Structures.AnalogArr() {
|
||||
Index = d.Key,
|
||||
Analogs = d.Value.ToArray()
|
||||
});
|
||||
return new DateGetAnalogsClient()
|
||||
{
|
||||
Analogs = result.ToArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new DateGetAnalogsClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("gettechcycle")]
|
||||
public DateGetTechCycleClient GetTechCycle([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<DateGetTechCycleApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask tech cycle: " +
|
||||
getResult.Vdp.ToString() + " " +
|
||||
getResult.Start.ToString("yyyy-MM-dd HH:mm:ss") + " " +
|
||||
getResult.End.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
var list_tech_cycles = new List<Structures.TechCycle>();
|
||||
var flagDate = new DateTime(
|
||||
getResult.Start.Year,
|
||||
getResult.Start.Month,
|
||||
getResult.Start.Day,
|
||||
0, 0, 0
|
||||
);
|
||||
while (flagDate <= getResult.End)
|
||||
{
|
||||
var lines = WorkWithFiles.GetFile(
|
||||
flagDate.Year.ToString("D4") +
|
||||
flagDate.Month.ToString("D2") +
|
||||
flagDate.Day.ToString("D2") +
|
||||
"." +
|
||||
getResult.Vdp.ToString("D2") +
|
||||
"3"
|
||||
);
|
||||
Structures.TechCycle first_tech_cycle = null;
|
||||
for (var i = 0; i < lines.Length; i++)
|
||||
{
|
||||
var tc = new Structures.TechCycle(flagDate, lines[i]);
|
||||
if (tc.start < getResult.Start)
|
||||
{
|
||||
first_tech_cycle = tc;
|
||||
continue;
|
||||
}
|
||||
if (tc.start > getResult.End)
|
||||
continue;
|
||||
if (list_tech_cycles.Count == 0 && first_tech_cycle != null)
|
||||
{
|
||||
first_tech_cycle.start = getResult.Start;
|
||||
list_tech_cycles.Add(first_tech_cycle);
|
||||
}
|
||||
list_tech_cycles.Add(tc);
|
||||
}
|
||||
flagDate = flagDate.AddDays(1);
|
||||
}
|
||||
|
||||
|
||||
return new DateGetTechCycleClient()
|
||||
{
|
||||
TechCycle = list_tech_cycles.ToArray(),
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new DateGetTechCycleClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getprotect")]
|
||||
public DateGetProtectClient GetProtect([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<DateGetProtectApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask protects: " +
|
||||
getResult.Vdp.ToString() + " " +
|
||||
getResult.Start.ToString("yyyy-MM-dd HH:mm:ss") + " " +
|
||||
getResult.End.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
var list_protects = new List<Structures.Protect>();
|
||||
var flagDate = new DateTime(
|
||||
getResult.Start.Year,
|
||||
getResult.Start.Month,
|
||||
getResult.Start.Day,
|
||||
0, 0, 0
|
||||
);
|
||||
while (flagDate <= getResult.End)
|
||||
{
|
||||
var protects = WorkWithFiles.GetProtects(flagDate, getResult.Vdp);
|
||||
for (var i = 0; i < protects.Length; i++)
|
||||
{
|
||||
if (protects[i].start < getResult.Start)
|
||||
continue;
|
||||
if (protects[i].start > getResult.End)
|
||||
continue;
|
||||
list_protects.Add(protects[i]);
|
||||
}
|
||||
flagDate = flagDate.AddDays(1);
|
||||
}
|
||||
|
||||
|
||||
return new DateGetProtectClient()
|
||||
{
|
||||
Protect = list_protects.ToArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new DateGetProtectClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getdiscret")]
|
||||
public DateGetDiscretClient GetDiscret([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<DateGetDiscretApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask discrets: " +
|
||||
getResult.Vdp.ToString() + " " +
|
||||
getResult.Start.ToString("yyyy-MM-dd HH:mm:ss") + " " +
|
||||
getResult.End.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
var list_discrets = new List<Structures.Discret>();
|
||||
var flagDate = new DateTime(
|
||||
getResult.Start.Year,
|
||||
getResult.Start.Month,
|
||||
getResult.Start.Day,
|
||||
0, 0, 0
|
||||
);
|
||||
while (flagDate <= getResult.End)
|
||||
{
|
||||
var discrets = WorkWithFiles.GetDiscrets(flagDate, getResult.Vdp);
|
||||
var first_discrets = new Dictionary<int, Structures.Discret>();
|
||||
for (var i = 0; i < discrets.Length; i++)
|
||||
{
|
||||
if (discrets[i].start < getResult.Start)
|
||||
{
|
||||
if (first_discrets.ContainsKey(discrets[i].Index))
|
||||
first_discrets[discrets[i].Index] = discrets[i];
|
||||
else
|
||||
first_discrets.Add(discrets[i].Index, discrets[i]);
|
||||
first_discrets[discrets[i].Index].start = getResult.Start;
|
||||
continue;
|
||||
}
|
||||
if (discrets[i].start > getResult.End)
|
||||
continue;
|
||||
var last_id = list_discrets.FindLastIndex(x => x.Index == discrets[i].Index);
|
||||
if (first_discrets.ContainsKey(discrets[i].Index) &&
|
||||
last_id == -1 &&
|
||||
discrets[i].start != getResult.Start)
|
||||
{
|
||||
list_discrets.Add(first_discrets[discrets[i].Index]);
|
||||
first_discrets.Remove(discrets[i].Index);
|
||||
}
|
||||
if (last_id != -1 &&
|
||||
list_discrets[last_id].State == discrets[i].State)
|
||||
continue;
|
||||
list_discrets.Add(discrets[i]);
|
||||
}
|
||||
flagDate = flagDate.AddDays(1);
|
||||
}
|
||||
|
||||
return new DateGetDiscretClient()
|
||||
{
|
||||
Discret = list_discrets.ToArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new DateGetDiscretClient();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
138
ApiServer/Controllers/DiscretController.cs
Normal file
138
ApiServer/Controllers/DiscretController.cs
Normal file
@@ -0,0 +1,138 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Newtonsoft;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using NLog;
|
||||
using DataClient.Struct;
|
||||
using System.IO;
|
||||
using ApiServer.ApiStruct;
|
||||
|
||||
namespace ApiServer.Controllers
|
||||
{
|
||||
[ApiController, Route("[controller]")]
|
||||
public class DiscretController : ControllerBase
|
||||
{
|
||||
private Logger log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
[HttpPost, Route("getdiscrets")]
|
||||
public DiscretGetDscretsClient GetDiscrets([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<DiscretGetiscretsApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask discrets: " +
|
||||
getResult.Vdp.ToString() + " " +
|
||||
getResult.Start.ToString("yyyy-MM-dd HH:mm:ss") + " "+
|
||||
getResult.End.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
var list_discrets = new List<Structures.Discret>();
|
||||
var flagDate = new DateTime(
|
||||
getResult.Start.Year,
|
||||
getResult.Start.Month,
|
||||
getResult.Start.Day,
|
||||
0,0,0
|
||||
);
|
||||
while (flagDate <= getResult.End)
|
||||
{
|
||||
var discrets = WorkWithFiles.GetDiscrets(flagDate, getResult.Vdp);
|
||||
var first_discrets = new Dictionary<int, Structures.Discret>();
|
||||
for (var i = 0; i < discrets.Length; i++)
|
||||
{
|
||||
if (discrets[i].start < getResult.Start)
|
||||
{
|
||||
if (first_discrets.ContainsKey(discrets[i].Index))
|
||||
first_discrets[discrets[i].Index] = discrets[i];
|
||||
else
|
||||
first_discrets.Add(discrets[i].Index, discrets[i]);
|
||||
first_discrets[discrets[i].Index].start = getResult.Start;
|
||||
continue;
|
||||
}
|
||||
if (discrets[i].start > getResult.End)
|
||||
continue;
|
||||
var last_id = list_discrets.FindLastIndex(x => x.Index == discrets[i].Index);
|
||||
if (first_discrets.ContainsKey(discrets[i].Index) &&
|
||||
last_id == -1 &&
|
||||
discrets[i].start != getResult.Start)
|
||||
{
|
||||
list_discrets.Add(first_discrets[discrets[i].Index]);
|
||||
first_discrets.Remove(discrets[i].Index);
|
||||
}
|
||||
if (last_id != -1 &&
|
||||
list_discrets[last_id].State == discrets[i].State)
|
||||
continue;
|
||||
list_discrets.Add(discrets[i]);
|
||||
}
|
||||
flagDate = flagDate.AddDays(1);
|
||||
}
|
||||
|
||||
return new DiscretGetDscretsClient()
|
||||
{
|
||||
StateParams = Configuration.GetStateStructArray(),
|
||||
DiscretParams = Configuration.GetDiscretParams(getResult.Vdp.ToString("D2")),
|
||||
Discrets = list_discrets.ToArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new DiscretGetDscretsClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getdiscretsmatrix")]
|
||||
public DiscretGetDscretsMatrixClient GetDiscretsMatrix([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<DiscretGetiscretsApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask discrets: " +
|
||||
getResult.Vdp.ToString() + " " +
|
||||
getResult.Start.ToString("yyyy-MM-dd HH:mm:ss") + " " +
|
||||
getResult.End.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
var list_discrets = new List<Structures.DiscretMatrix>();
|
||||
var flagDate = new DateTime(
|
||||
getResult.Start.Year,
|
||||
getResult.Start.Month,
|
||||
getResult.Start.Day,
|
||||
0, 0, 0
|
||||
);
|
||||
while (flagDate <= getResult.End)
|
||||
{
|
||||
var discrets = WorkWithFiles.GetDiscretsMatrix(flagDate, getResult.Vdp);
|
||||
for (var i = 0; i < discrets.Length; i++)
|
||||
{
|
||||
if (discrets[i].start < getResult.Start)
|
||||
continue;
|
||||
if (discrets[i].start > getResult.End)
|
||||
continue;
|
||||
list_discrets.Add(discrets[i]);
|
||||
}
|
||||
flagDate = flagDate.AddDays(1);
|
||||
}
|
||||
|
||||
log.Info("Send discret");
|
||||
return new DiscretGetDscretsMatrixClient()
|
||||
{
|
||||
StateParams = Configuration.GetStateStructArray(),
|
||||
DiscretParams = Configuration.GetDiscretParams(getResult.Vdp.ToString("D2")),
|
||||
Discrets = list_discrets.ToArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new DiscretGetDscretsMatrixClient();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
158
ApiServer/Controllers/ParamsController.cs
Normal file
158
ApiServer/Controllers/ParamsController.cs
Normal file
@@ -0,0 +1,158 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Newtonsoft;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using NLog;
|
||||
using DataClient.Struct;
|
||||
using System.IO;
|
||||
using ApiServer.ApiStruct;
|
||||
|
||||
namespace ApiServer.Controllers
|
||||
{
|
||||
[ApiController, Route("[controller]")]
|
||||
public class ParamsController : ControllerBase
|
||||
{
|
||||
private Logger log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
[HttpPost, Route("getanalogs")]
|
||||
public ParamsGetAnalogClient GetAnalogs([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<ParamsGetAnalogApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask analog params for \"" + getResult.Name + "\"");
|
||||
return new ParamsGetAnalogClient()
|
||||
{
|
||||
Analog_params = Configuration.GetAnalogParams(getResult.Name)
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error(e);
|
||||
return new ParamsGetAnalogClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getmetrics")]
|
||||
public ParamsGetMetricClient GetMetrics([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
log.Info("Ask metrics");
|
||||
return new ParamsGetMetricClient()
|
||||
{
|
||||
Metrics = Configuration.GetMetricsArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error(e);
|
||||
return new ParamsGetMetricClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("gettechcyclename")]
|
||||
public ParamsGetTechCycleNameClient GetTechCycleName([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
log.Info("Ask tech cycle name");
|
||||
return new ParamsGetTechCycleNameClient()
|
||||
{
|
||||
Name = Configuration.GetTechCycleNames()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new ParamsGetTechCycleNameClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("gettechcyclecolor")]
|
||||
public ParamsGetTechCycleColorClient GetTechCycleColor([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
log.Info("Ask tech cycle color");
|
||||
return new ParamsGetTechCycleColorClient()
|
||||
{
|
||||
Color = Configuration.GetTechCycleColor()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new ParamsGetTechCycleColorClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getstatestruct")]
|
||||
public ParamsGetStateStructClient GetStateStruct([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
log.Info("Ask state struct");
|
||||
return new ParamsGetStateStructClient()
|
||||
{
|
||||
StateStruct = Configuration.GetStateStructArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new ParamsGetStateStructClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getprotectstate")]
|
||||
public ParamsGetProtectStateClient GetProtectState([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<ParamsGetProtectStateApi>(
|
||||
value.ToString());
|
||||
|
||||
log.Info("Ask protect state for vdp: " + getResult.Name);
|
||||
return new ParamsGetProtectStateClient()
|
||||
{
|
||||
ProtectState = Configuration.GetProtectState(getResult.Name)
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new ParamsGetProtectStateClient();
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getdiscret")]
|
||||
public ParamsGetDiscretClient GetDiscrets([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<ParamsGetDiscretApi>(
|
||||
value.ToString());
|
||||
log.Info("Ask discret params for \"" + getResult.Name + "\"");
|
||||
return new ParamsGetDiscretClient()
|
||||
{
|
||||
Discret_params = Configuration.GetDiscretParams(getResult.Name)
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error(e);
|
||||
return new ParamsGetDiscretClient();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@@ -109,17 +109,21 @@ namespace ApiServer.Controllers
|
||||
try
|
||||
{
|
||||
var pasportNameList = new List<string>();
|
||||
var getResult = JsonConvert.DeserializeObject<PasportGetListApi>(value.ToString());
|
||||
var pasportTimeList = new List<string>();
|
||||
var getResult = JsonConvert.DeserializeObject<PasportGetListApi>(
|
||||
value.ToString(),
|
||||
new JsonSerializerSettings { DateFormatString = "yyyy-MM-dd" });
|
||||
log.Info("Ask pasport list: " + getResult.Date.ToString("yyyy-MM-dd"));
|
||||
var pasportDir = Path.Combine(
|
||||
Directory.GetCurrentDirectory(),
|
||||
"data",
|
||||
"pasport",
|
||||
getResult.Date.Year.ToString("D4"),
|
||||
getResult.Date.ToString("D2"),
|
||||
getResult.Date.Month.ToString("D2"),
|
||||
getResult.Date.Day.ToString("D2")
|
||||
);
|
||||
if (!Directory.Exists(pasportDir))
|
||||
return new PasportGetListClient();
|
||||
throw new Exception("Directory not exist: " + pasportDir);
|
||||
var allPasportFiles = Directory.GetFiles(pasportDir);
|
||||
foreach (var fullPasportName in allPasportFiles)
|
||||
{
|
||||
@@ -132,10 +136,15 @@ namespace ApiServer.Controllers
|
||||
pasport += "-";
|
||||
pasport += pasportParts[i];
|
||||
}
|
||||
pasportTimeList.Add(pasportParts[0]);
|
||||
pasportNameList.Add(pasport);
|
||||
}
|
||||
log.Info("Send pasport list: " + pasportNameList);
|
||||
return new PasportGetListClient() { Name = pasportNameList.ToArray() };
|
||||
return new PasportGetListClient()
|
||||
{
|
||||
Name = pasportNameList.ToArray(),
|
||||
Time = pasportTimeList.ToArray()
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -144,6 +153,75 @@ namespace ApiServer.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost, Route("getpasport")]
|
||||
public PasportGetPasportClient GetPasport([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var getResult = JsonConvert.DeserializeObject<PasportGetPasportApi>(
|
||||
value.ToString(),
|
||||
new JsonSerializerSettings { DateFormatString = "yyyy-MM-dd" });
|
||||
log.Info("Ask pasport: " + getResult.Date.ToString("yyyy-MM-dd") + " " + getResult.Name);
|
||||
var pasportFile = Path.Combine(
|
||||
Directory.GetCurrentDirectory(),
|
||||
"data",
|
||||
"pasport",
|
||||
getResult.Date.Year.ToString("D4"),
|
||||
getResult.Date.Month.ToString("D2"),
|
||||
getResult.Date.Day.ToString("D2"),
|
||||
getResult.Name
|
||||
);
|
||||
if (!System.IO.File.Exists(pasportFile))
|
||||
throw new Exception("File not exist: " + pasportFile);
|
||||
var pasport = new Pasport(System.IO.File.ReadAllBytes(pasportFile));
|
||||
return new PasportGetPasportClient()
|
||||
{
|
||||
HasData = pasport.HasData,
|
||||
NumVDP = pasport.numVDP,
|
||||
DStart = pasport.dStart.HasValue ? pasport.dStart.Value.ToString("yyyy.MM.dd HH:mm:ss") : "",
|
||||
DEnd = pasport.dEnd.HasValue ? pasport.dEnd.Value.ToString("yyyy.MM.dd HH:mm:ss") : "",
|
||||
|
||||
HasPasport = pasport.hasPasport,
|
||||
Kod_npl = pasport.kod_npl,
|
||||
Nplav = pasport.nplav,
|
||||
Rm = pasport.rm,
|
||||
Splav = pasport.splav,
|
||||
IS = pasport.iS,
|
||||
Notd = pasport.notd,
|
||||
Vessl = pasport.vessl,
|
||||
Diam = pasport.diam,
|
||||
Prpl = pasport.prpl,
|
||||
Tin = pasport.tin,
|
||||
Dzap = pasport.dzap,
|
||||
Dlog = pasport.dlog,
|
||||
Last = pasport.last,
|
||||
Dlper = pasport.dlper,
|
||||
Nazn = pasport.nazn,
|
||||
Kompl = pasport.kompl,
|
||||
Izl = pasport.izl,
|
||||
Robm = pasport.robm,
|
||||
Rizol = pasport.rizol,
|
||||
Dkr = pasport.dkr,
|
||||
Nkon = pasport.nkon,
|
||||
Pos = pasport.pos,
|
||||
Ukaz = pasport.ukaz,
|
||||
Zakaz = pasport.zakaz,
|
||||
Kat = pasport.kat,
|
||||
Pril = pasport.pril,
|
||||
Rezerved = pasport.rezerved,
|
||||
};
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new PasportGetPasportClient()
|
||||
{
|
||||
HasData = false,
|
||||
HasPasport = false
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user