using Newtonsoft.Json; 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.Common.Logic.ServiceCore; 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 connectionString = new Lazy(() => System.Configuration.ConfigurationManager.ConnectionStrings["default"].ConnectionString ); } // [Route("GetLutList"), HttpGet] public async Task GetLutList() { return await Task.Run(() => { try { var ret = new System.Collections.Generic.List(); 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((Int32)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 = (Boolean)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); } }); } } }