laatzen/Common/Service/MeterProcessState/Controllers/LUTController.cs
Roland Drabesch 768d4e110a vergessen
2022-06-21 12:54:26 +02:00

86 lines
3.0 KiB
C#

using Newtonsoft.Json;
using Service.Core;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using Xylem.Common.Cryptology.Security;
using Xylem.ServiceFwUpdate.Common.FwUpdateDb;
using Xylem.ServiceFwUpdate.Common.FwUpdateSafe.MeterRecovery;
namespace Xylem.Common.Service.MeterProcessState.Controllers
{
public class LutController : ApiController
{
public static class GlobalConfig
{
public static Lazy<string> connectionString = new Lazy<string>(()
=>
System.Configuration.ConfigurationManager.ConnectionStrings["default"].ConnectionString
);
}
//
[Route("GetLutList"), HttpGet]
public async Task<HttpResponseMessage> GetLutList()
{
return await Task.Run(() =>
{
try
{
var ret = new System.Collections.Generic.List<UserInformation>();
using (var dataacces = new SqlDataAccess(GlobalConfig.connectionString.Value))
{
var sb = new StringBuilder();
sb.AppendLine($" SELECT [Id] , lut.[FileID] ,[DataLength] ,[Version] ,[FileCrc] ,[MeterSize] ,[FileContent] FROM[Auftrag].[dbo].[Cordonel_Lut] lut inner join [Auftrag].[dbo].[File] f on lut.FileID = f.FileId");
var dbResult = dataacces.ExecuteQuery(sb.ToString());
foreach (DataRow row in dbResult.Rows)
{
ret.Add(
new UserInformation((int)row["UserId"])
{
FullName = row["FullName"] == DBNull.Value ? "" : (string)row["FullName"],
LogInName = (string)row["LogInName"],
Domain = (string)row["Domain"],
HardwareId = row["HardwareId"] == DBNull.Value ? "" : (string)row["HardwareId"],
PasswordHash = row["PasswordHash"] == DBNull.Value ? "" : (string)row["PasswordHash"],
RegisterDate = (DateTimeOffset)row["RegisterDate"],
ValidDate = (DateTimeOffset)row["ValidDate"],
AccountActive = (bool)row["AccountActive"],
});
}
}
return Request.CreateResponse(HttpStatusCode.OK, true);
//return Request.CreateResponse(HttpStatusCode.OK, getUserList(LogInName, Id));
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError, ex);
}
});
}
}
}