using ColorMine.ColorSpaces; using ColorMine.ColorSpaces.Comparisons; using System; using System.Collections.Generic; using System.Linq; using System.Web; using Tango.Core.Helpers; using Tango.TCC.BL.Entities; namespace Tango.TCC.Service.DTO { public class ResultDTO { public ResultDTO( ) { } public String Guid { get; set; } public DateTime Date { get; set; } public String DeviceGuid { get; set; } public String CardGuid { get; set; } public int RawColor { get; set; } public int ProcessedColor { get; set; } public int ProcessTime { get; set; } public String SampleImageURL { get; set; } public String SourceImageURL { get; set; } public DeviceDTO Device { get; set; } public String DeviceId { get; set; } public CardDTO Card { get; set; } public String DeviceModel { get; set; } public String CardCode { get; set; } public String Email { get; set; } public double DeltaE { get { double deltaE = 0; var rawColor = ColorHelper.IntegerToColor(RawColor); var processedColor = ColorHelper.IntegerToColor(ProcessedColor); Rgb rawRgb = new Rgb(rawColor.R, rawColor.G, rawColor.B); Rgb processedRgb = new Rgb(processedColor.R, processedColor.G, processedColor.B); deltaE = rawRgb.Compare(processedRgb, new CieDe2000Comparison()); return deltaE; } } public static ResultDTO createResultDTO( Result result, string cardCode, string deviceModel, string email, string deviceGuid) { ResultDTO dto = new ResultDTO(); dto.Guid = result.Guid; dto.Date = result.Date; dto.RawColor = result.RawColor; dto.ProcessedColor = result.ProcessedColor; dto.SampleImageURL = "/api/Results/GetResultSampleImage?blobName=" + result.SampleImageBlobName; dto.SourceImageURL = "/api/Results/GetResultSourceImage?blobName=" + result.SourceImageBlobName; dto.ProcessTime = result.ProcessTime; dto.CardGuid = result.CardGuid; dto.CardCode = cardCode; dto.DeviceModel = deviceModel; dto.Email = email; dto.DeviceGuid = deviceGuid; return dto; } public static ResultDTO createsampleResultDTO(Result result) { ResultDTO dto = new ResultDTO(); dto.Guid = result.Guid; dto.Date = result.Date; dto.RawColor = result.RawColor; dto.ProcessedColor = result.ProcessedColor; //dto.SampleImageURL = "/api/Results/GetResultSampleImage?blobName=" + result.SampleImageBlobName; //dto.SourceImageURL = "/api/Results/GetResultSourceImage?blobName=" + result.SourceImageBlobName; dto.ProcessTime = result.ProcessTime; dto.CardGuid = result.CardGuid; return dto; } } }