Home
This commit is contained in:
@@ -18,62 +18,89 @@ namespace ApiServer.Controllers
|
||||
public class PasportController : ControllerBase
|
||||
{
|
||||
private Logger log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
[HttpPost, Route("check")]
|
||||
public PasportCheckReq Check([FromBody] object value)
|
||||
public PasportCheckClient Check([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reply = JsonConvert.DeserializeObject<PasportCheckRep>(value.ToString());
|
||||
if (!reply.HasData || string.IsNullOrEmpty(reply.Name)) throw new Exception();
|
||||
|
||||
var getResult = JsonConvert.DeserializeObject<PasportCheckApi>(value.ToString());
|
||||
if (!getResult.Status || string.IsNullOrEmpty(getResult.Name))
|
||||
{
|
||||
log.Warn("Wrong answer.");
|
||||
return new PasportCheckClient();
|
||||
}
|
||||
|
||||
var paspName =
|
||||
reply.DateAndTime.Hour.ToString("D2") +
|
||||
reply.DateAndTime.Minute.ToString("D2") +
|
||||
reply.DateAndTime.Second.ToString("D2") +
|
||||
"-" + reply.Name;
|
||||
getResult.DateAndTime.Hour.ToString("D2") +
|
||||
getResult.DateAndTime.Minute.ToString("D2") +
|
||||
getResult.DateAndTime.Second.ToString("D2") +
|
||||
"-" + getResult.Name;
|
||||
var paspDir = Path.Combine(
|
||||
Directory.GetCurrentDirectory(),
|
||||
"data", "pasport",
|
||||
reply.DateAndTime.Year.ToString("D4"),
|
||||
reply.DateAndTime.Month.ToString("D2"),
|
||||
reply.DateAndTime.Day.ToString("D2"),
|
||||
getResult.DateAndTime.Year.ToString("D4"),
|
||||
getResult.DateAndTime.Month.ToString("D2"),
|
||||
getResult.DateAndTime.Day.ToString("D2"),
|
||||
paspName);
|
||||
|
||||
log.Info("Search pasport: " + paspDir);
|
||||
if (!System.IO.File.Exists(paspDir))
|
||||
return new PasportCheckReq { Status = true, Exist = false };
|
||||
return new PasportCheckReq { Status = true, Exist = true, Pasp = new Pasport(System.IO.File.ReadAllBytes(paspDir)) };
|
||||
{
|
||||
log.Info("Psport not exist: " + paspDir);
|
||||
return new PasportCheckClient { Status = true, Exist = false, PaspSum = 0 };
|
||||
}
|
||||
var pasport = System.IO.File.ReadAllBytes(paspDir);
|
||||
ulong paspResult = 0;
|
||||
foreach (var b in pasport)
|
||||
paspResult += b;
|
||||
log.Info("Send pasport size: " + paspResult + " | " + paspDir);
|
||||
return new PasportCheckClient { Status = true, Exist = true, PaspSum = paspResult };
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new PasportCheckClient();
|
||||
}
|
||||
catch { return new PasportCheckReq { Status = false }; }
|
||||
}
|
||||
|
||||
[HttpPost, Route("create")]
|
||||
public PasportCreateReq Create([FromBody] object value)
|
||||
public PasportCreateClient Create([FromBody] object value)
|
||||
{
|
||||
try
|
||||
{
|
||||
var reply = JsonConvert.DeserializeObject<PasportCreateRep>(value.ToString());
|
||||
if (!reply.HasData || string.IsNullOrEmpty(reply.Name)) throw new Exception();
|
||||
|
||||
var getResult = JsonConvert.DeserializeObject<PasportCreateApi>(value.ToString());
|
||||
if (!getResult.Status ||
|
||||
getResult.Pasp == null ||
|
||||
!getResult.Pasp.HasData)
|
||||
{
|
||||
log.Warn("Wrong answer.");
|
||||
return new PasportCreateClient();
|
||||
}
|
||||
var paspName =
|
||||
reply.DateAndTime.Hour.ToString("D2") +
|
||||
reply.DateAndTime.Minute.ToString("D2") +
|
||||
reply.DateAndTime.Second.ToString("D2") +
|
||||
"-" + reply.Name;
|
||||
getResult.Pasp.dEnd.Value.Hour.ToString("D2") +
|
||||
getResult.Pasp.dEnd.Value.Minute.ToString("D2") +
|
||||
getResult.Pasp.dEnd.Value.Second.ToString("D2") +
|
||||
"-" + (string.IsNullOrEmpty(getResult.Pasp.nplav) ?
|
||||
getResult.Pasp.numVDP.Value.ToString("D2") :
|
||||
getResult.Pasp.nplav);
|
||||
var dir = Path.Combine(
|
||||
Directory.GetCurrentDirectory(),
|
||||
"data", "pasport",
|
||||
reply.DateAndTime.Year.ToString("D4"),
|
||||
reply.DateAndTime.Month.ToString("D2"),
|
||||
reply.DateAndTime.Day.ToString("D2"));
|
||||
getResult.Pasp.dEnd.Value.Year.ToString("D4"),
|
||||
getResult.Pasp.dEnd.Value.Month.ToString("D2"),
|
||||
getResult.Pasp.dEnd.Value.Day.ToString("D2"));
|
||||
var paspDir = Path.Combine(dir, paspName);
|
||||
|
||||
if (!Directory.Exists(dir))
|
||||
Directory.CreateDirectory(dir);
|
||||
System.IO.File.WriteAllBytes(paspDir, reply.Pasp.PaspByte);
|
||||
|
||||
return new PasportCreateReq { Status = true };
|
||||
System.IO.File.WriteAllBytes(paspDir, getResult.Pasp.PaspByte);
|
||||
log.Info("Save pasport: " + paspDir);
|
||||
return new PasportCreateClient { Status = true };
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Warn(e);
|
||||
return new PasportCreateClient();
|
||||
}
|
||||
catch { return new PasportCreateReq { Status = false }; }
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user