{"id":2018,"date":"2019-03-21T16:57:24","date_gmt":"2019-03-21T15:57:24","guid":{"rendered":"https:\/\/solidt.eu\/site\/?p=2018"},"modified":"2022-07-25T08:33:26","modified_gmt":"2022-07-25T07:33:26","slug":"c-mapping-todatamodel-todomain","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/c-mapping-todatamodel-todomain\/","title":{"rendered":"C# Mapping ToDataModel() ToDomain()"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">using System.Linq;\nusing Domain.Models;\nusing EfDataAdapter.Models;\n\nnamespace EfDataAdapter.Extensions\n{\n    public static class DmSensorModuleExtensions\n    {\n        public static DmSensorModule ToDataModel(this SensorModule sensorModule, DmSensorModule dmSensorModule = null)\n        {\n            if (dmSensorModule == null)\n                dmSensorModule = new DmSensorModule();\n\n            dmSensorModule.Id = sensorModule.Id;\n            dmSensorModule.ModuleSerial = sensorModule.ModuleSerial;\n            dmSensorModule.PhoneNumber = sensorModule.PhoneNumber;\n            dmSensorModule.IpAddress = sensorModule.IpAddress;\n            dmSensorModule.SensorModuleTypeId = sensorModule.SensorModuleTypeId;\n            dmSensorModule.SensorModuleType = sensorModule.SensorModuleType?.ToDataModel();\n            dmSensorModule.InstallDate = sensorModule.InstallDate;\n            dmSensorModule.Status = sensorModule.Status;\n            dmSensorModule.Remark = sensorModule.Remark;\n            dmSensorModule.FirmwareVersion = sensorModule.FirmwareVersion;\n            dmSensorModule.Sensors = sensorModule.Sensors?.Select(x => x.ToDataModel()).ToList();\n            dmSensorModule.RawMeasurements = sensorModule.RawMeasurements?.Select(DmRawMeasurement.FromDomain).ToList();\n            return dmSensorModule;\n        }\n\n        public static SensorModule ToDomain(this DmSensorModule dmSensorModule)\n        {\n            if (dmSensorModule == null)\n                return null;\n\n            return new SensorModule()\n            {\n                Id = dmSensorModule.Id,\n                ModuleSerial = dmSensorModule.ModuleSerial,\n                PhoneNumber = dmSensorModule.PhoneNumber,\n                IpAddress = dmSensorModule.IpAddress,                \n                SensorModuleTypeId = dmSensorModule.SensorModuleTypeId,\n                SensorModuleType = dmSensorModule.SensorModuleType?.ToDomain(),\n                InstallDate = dmSensorModule.InstallDate,\n                Status = dmSensorModule.Status,\n                Remark = dmSensorModule.Remark,\n                FirmwareVersion = dmSensorModule.FirmwareVersion,\n                Sensors = dmSensorModule.Sensors?.Select(x => x.ToDomain()).ToList(),\n                RawMeasurements = dmSensorModule.RawMeasurements?.Select(DmRawMeasurement.ToDomain).ToList()\n            };\n        }\n    }\n}\n<\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[6,4,1],"tags":[],"class_list":["post-2018","post","type-post","status-publish","format-standard","hentry","category-dotnet","category-programming","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=2018"}],"version-history":[{"count":1,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2018\/revisions"}],"predecessor-version":[{"id":2019,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/2018\/revisions\/2019"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=2018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=2018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=2018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}