private static DtoModel GetTestDtoModel()
        {
            Dictionary <object, object> props = GetTestDictionary();
            DtoModel dtoModel = new DtoModel("Test.Namespace", "TestType", props);

            return(dtoModel);
        }
        public void ShouldGetTargetInstanceWhenUseDefaultMapper()
        {
            var   datetime       = DateTime.Now;
            var   datetimeOffset = DateTimeOffset.Now;
            Model data           = new Model
            {
                StrProp            = "strprop",
                IntProp            = 123,
                NullIntProp        = 456,
                DateTimeProp       = datetime,
                DateTimeOffsetProp = datetimeOffset,
                SubModel           = new ModelSubModel
                {
                    IntProp    = 234,
                    SubStrProp = "substrprop"
                }
            };
            var mapper   = ObjectMapper <Model, DtoModel> .Default;
            var target   = data.Map(mapper);
            var expected = new DtoModel
            {
                StrProp            = "strprop",
                IntProp            = 123,
                NullIntProp        = 456,
                DateTimeProp       = datetime,
                DateTimeOffsetProp = datetimeOffset,
                SubModel           = new DtoSubModel
                {
                    IntProp    = 234,
                    SubStrProp = "substrprop"
                }
            };

            target.Should().BeEquivalentTo(expected);
        }
        public void ShouldGetArrayValueWhenMapEnumerableComplexObjects()
        {
            Model data = new Model
            {
                EnumerableSubModels = new ModelSubModel[] {
                    new ModelSubModel()
                    {
                        SubStrProp = "str1"
                    },
                    null
                }
            };
            var subMapper = new ObjectMapper <ModelSubModel, DtoSubModel>();

            subMapper.Append(p => p.SubStrProp, p => p.SubStrProp);
            var mapper = new ObjectMapper <Model, DtoModel>();

            mapper.AppendCollection(p => p.SubModelArray, p => p.EnumerableSubModels, subMapper);
            var target = data.Map(mapper);

            var expected = new DtoModel
            {
                SubModelArray = new DtoSubModel[] {
                    new DtoSubModel()
                    {
                        SubStrProp = "str1"
                    },
                    null
                }
            };

            target.Should().BeEquivalentTo(expected);
        }
        public void ShouldGetDeepValueWhenMapComplexObjectAndSourceComplexObjectIsNotNull()
        {
            Model data = new Model
            {
                SubModel = new ModelSubModel()
                {
                    SubStrProp = "str"
                }
            };
            var subMapper = new ObjectMapper <ModelSubModel, DtoSubModel>();

            subMapper.Append(p => p.SubStrProp, p => p.SubStrProp);
            var mapper = new ObjectMapper <Model, DtoModel>();

            mapper.Append(p => p.SubModel, p => p.SubModel, subMapper);
            var target = data.Map(mapper);

            var expected = new DtoModel
            {
                SubModel = new DtoSubModel()
                {
                    SubStrProp = "str"
                }
            };

            target.Should().BeEquivalentTo(expected);
        }
Exemple #5
0
        public void Update_ItemUsingDto_ItemIsUpdated()
        {
            //Arrange
            IEnumerable <ITestObject> addedItems   = null;
            IEnumerable <ITestObject> deletedItems = null;
            IEnumerable <ITestObject> updatedItems = null;
            Action <IEnumerable <ITestObject>, IEnumerable <ITestObject>, IEnumerable <ITestObject> > callback = (a, d, u) => { addedItems = a; deletedItems = d; updatedItems = u; };

            _mockCacheable.Setup(c => c.Save(It.IsAny <IEnumerable <ITestObject> >(), It.IsAny <IEnumerable <ITestObject> >(), It.IsAny <IEnumerable <ITestObject> >())).Callback(callback);
            var dto   = new DtoModel("Updated");
            var model = new TestModel()
            {
                Id = 0, Name = "Unmodified", City = "Eden Prairie", State = "MN"
            };
            Func <DtoModel, ITestObject, ITestObject> updateMethod = (d, m) => { m.Name = d.Name; return(m); };

            _mockCacheable.Setup(c => c.Fetch(0)).Returns(model);
            var firstItem = _cache.Fetch(0);

            //Act
            _cache.Update(0, dto, updateMethod);

            //Assert
            _cache.Save();
            Assert.AreEqual(1, updatedItems.Count());
            Assert.AreEqual(model, updatedItems.First());
        }
Exemple #6
0
        public void Update_UsingDtoAndItemIsNotInCache_ThowsException()
        {
            //Arrange
            var dto = new DtoModel("Fails");
            Func <DtoModel, ITestObject, ITestObject> updateMethod = (d, m) => { m.Name = d.Name; return(m); };

            //Act
            _cache.Update(0, dto, updateMethod);
        }
Exemple #7
0
        public ActionResult Index(DtoModel dtoModel)
        {
            var      data = ser.getParvande(dtoModel.TblParvande);
            DtoModel d    = new DtoModel();

            d.TblParvande     = dtoModel.TblParvande;
            d.listTblParvande = data;
            return(View(d));
        }
Exemple #8
0
        public ActionResult Save(ModelInfoViewModel model)
        {
            var modelDto = new DtoModel {
                Id = model.Id, Name = model.Name, BrandId = model.BrandId
            };

            _modelService.SaveModel(modelDto);

            return(RedirectToAction("Details", "Brand", new { @brandId = model.BrandId }));
        }
        public override void Calculate()
        {
            if (InputPorts[0].Data == null)
            {
                return;
            }

            var model = new DtoModel();

            if (InputPorts[0].Data.GetType() == typeof(DtoShortProject))
            {
                var proj = InputPorts[0].Data as DtoShortProject;
                if (proj == null)
                {
                    return;
                }

                model = _controller.IntBase.APICore.DtObjects.GetObjectGeometryAsThreeJs(proj.Id);
            }
            else if (InputPorts[0].Data.GetType() == typeof(DtoDivision))
            {
                var div = InputPorts[0].Data as DtoDivision;
                if (div == null)
                {
                    return;
                }

                model = _controller.IntBase.APICore.DtObjects.GetObjectGeometryAsThreeJs(div.Id);
            }

            if (model == null)
            {
                return;
            }

            _elements = new List <DtObject>();
            foreach (var elem in model.Objects)
            {
                var threejsSting = elem.AttributeGroups["geometry"]["threejs"] as JObject;

                if (threejsSting == null)
                {
                    continue;
                }

                var geom = threejsSting.ToObject(typeof(DbGeometry));

                // Set the color ...
                var colorid = Convert.ToInt32(threejsSting.SelectToken("metadata").SelectToken("colorid"));
                var col     = Convert.ToInt64(model.Colors[colorid]);

                ThreeJsAdapter.ParseThreeJsGeometry(geom as DbGeometry, elem, (int)col);
                _elements.Add(elem);
            }
        }
Exemple #10
0
        public ActionResult Index()
        {
            if (HttpContext.Session["login"] == null || HttpContext.Session["login"] == "0")
            {
                return(RedirectToAction("Login"));
            }

            DtoModel d = new DtoModel();

            d.TblParvande     = new DashboardMatab.Models.TblParvande();
            d.listTblParvande = new List <TblParvande>();
            return(View(d));
        }
Exemple #11
0
        public void Update_UsingDtoAndItemIsDeleted_ThrowsException()
        {
            //Arrange
            var item = GetTestItem(0);

            _mockCacheable.Setup(c => c.Fetch(0)).Returns(item);
            var firstItem = _cache.Fetch(0);

            _cache.Delete(firstItem);
            var dto = new DtoModel("Fails");
            Func <DtoModel, ITestObject, ITestObject> updateMethod = (d, m) => { m.Name = d.Name; return(m); };

            //Act
            _cache.Update(0, dto, updateMethod);
        }
Exemple #12
0
            public void Should_map_object_to_sub_object()
            {
                var model = new Model
                {
                    Object = new ModelSubObject {
                        BaseString = "Base2", SubString = "Sub2"
                    }
                };

                _result = Mapper.Map <Model, DtoModel>(model);
                _result.Object.ShouldNotBeNull();
                _result.Object.ShouldBeType <DtoSubObject>();
                _result.Object.ShouldBeType <DtoSubObject>();
                _result.Object.BaseString.ShouldEqual("Base2");
                ((DtoSubObject)_result.Object).SubString.ShouldEqual("Sub2");
            }
Exemple #13
0
        public void SaveModel(DtoModel modelDto)
        {
            var model = new Model
            {
                Id      = modelDto.Id,
                Name    = modelDto.Name,
                BrandId = modelDto.BrandId
            };

            if (model.Id == 0)
            {
                _modelRepository.Add(model);
            }
            else
            {
                _modelRepository.Update(model);
            }
        }
        public override void Calculate()
        {
            if (InputPorts[0].Data == null) return;

            var model = new DtoModel();

            if (InputPorts[0].Data.GetType() == typeof (DtoShortProject))
            {
                var proj = InputPorts[0].Data as DtoShortProject;
                if (proj == null) return;

                model = _controller.IntBase.APICore.DtObjects.GetObjectGeometryAsThreeJs(proj.Id);

            }
            else if (InputPorts[0].Data.GetType() == typeof (DtoDivision))
            {
                var div = InputPorts[0].Data as DtoDivision;
                if (div == null) return;

                model = _controller.IntBase.APICore.DtObjects.GetObjectGeometryAsThreeJs(div.Id);
            }

            if (model == null) return;

            _elements = new List<DtObject>();
            foreach (var elem in model.Objects)
            {
                var threejsSting = elem.AttributeGroups["geometry"]["threejs"] as JObject;

                if (threejsSting == null) continue;

                var geom = threejsSting.ToObject(typeof(DbGeometry));

                // Set the color ... 
                var colorid = Convert.ToInt32(threejsSting.SelectToken("metadata").SelectToken("colorid"));
                var col = Convert.ToInt64(model.Colors[colorid]);

                ThreeJsAdapter.ParseThreeJsGeometry(geom as DbGeometry, elem, (int)col);
                _elements.Add(elem);
            }
        } 
 private void WorkerOnRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs runWorkerCompletedEventArgs)
 {
     if (_elements != null)
     {
         Dispatcher.BeginInvoke((Action) delegate() {
             _control.LoadingGrid.Visibility = Visibility.Collapsed;
             _control.statusLabel.Content    = "Status: " + _elements.Count + " Elements loaded!";
         });
     }
     // Store the data in the dataController
     if (_elements != null)
     {
         var guid = Guid.NewGuid();
         _model = new DtoModel {
             Objects = _elements.ToList()
         };
         _controller.BimPlusModels.Add(guid, _model);
         var output = new ModelInfo(projectId.ToString(), guid.ToString(), _elements.Select(item => item.Id).ToList(), ModelType.BimPlusModel);
         OutputPorts[0].Data = output;
     }
 }
        public Assembly GetAssembly(string nameSpace = null)
        {
            List <DynamicTypeDescriptor> types = new List <DynamicTypeDescriptor>();
            DynamicNamespaceDescriptor   ns    = null;

            if (nameSpace != null)
            {
                ns = GetNamespaceDescriptor(nameSpace);
            }
            else
            {
                ns = DynamicTypeDataRepository.GetOneDynamicNamespaceDescriptorWhere(d => d.Namespace == DynamicNamespaceDescriptor.DefaultNamespace);
            }
            types = DynamicTypeDataRepository.DynamicTypeDescriptorsWhere(t => t.DynamicNamespaceDescriptorId == ns.Id).ToList();
            StringBuilder src = new StringBuilder();

            foreach (DynamicTypeDescriptor typeDescriptor in types)
            {
                DtoModel dto = new DtoModel
                               (
                    ns.Namespace,
                    GetClrTypeName(typeDescriptor.TypeName),
                    typeDescriptor.Properties.Select(p => new DtoPropertyModel {
                    PropertyName = GetClrPropertyName(p.PropertyName), PropertyType = GetClrTypeName(p.PropertyType)
                }).ToArray()
                               );
                src.AppendLine(dto.Render());
            }

            CompilerResults results = AdHocCSharpCompiler.CompileSource(src.ToString(), $"{ns.Namespace}.dll");

            if (results.Errors.Count > 0)
            {
                throw new CompilationException(results);
            }
            return(results.CompiledAssembly);
        }
Exemple #17
0
        public void Update_UsingDtoAndItemIsInAddedState_ItemStaysInAddedState()
        {
            //Arrange
            IEnumerable <ITestObject> addedItems   = null;
            IEnumerable <ITestObject> deletedItems = null;
            IEnumerable <ITestObject> updatedItems = null;
            Action <IEnumerable <ITestObject>, IEnumerable <ITestObject>, IEnumerable <ITestObject> > callback = (a, d, u) => { addedItems = a; deletedItems = d; updatedItems = u; };

            _mockCacheable.Setup(c => c.Save(It.IsAny <IEnumerable <ITestObject> >(), It.IsAny <IEnumerable <ITestObject> >(), It.IsAny <IEnumerable <ITestObject> >())).Callback(callback);
            var item = GetTestItem(0);

            _cache.Add(item);
            var dto = new DtoModel("ItemStayedModified");
            Func <DtoModel, ITestObject, ITestObject> updateMethod = (d, m) => { m.Name = d.Name; return(m); };

            //Arrange
            _cache.Update(0, dto, updateMethod);

            //Assert
            _cache.Save();
            Assert.AreEqual(1, addedItems.Count());
            Assert.AreEqual(item, addedItems.First());
            Assert.AreEqual(0, updatedItems.Count());
        }
 private void WorkerOnRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs runWorkerCompletedEventArgs)
 {
     if (_elements != null)
     {
         Dispatcher.BeginInvoke((Action)delegate () {
             _control.LoadingGrid.Visibility = Visibility.Collapsed;
             _control.statusLabel.Content = "Status: " +_elements.Count+ " Elements loaded!";
         });
     }
     // Store the data in the dataController
     if (_elements != null)
     {
         var guid = Guid.NewGuid();
         _model = new DtoModel {Objects = _elements.ToList()};
         _controller.BimPlusModels.Add(guid, _model);
         var output = new ModelInfo(projectId.ToString(), guid.ToString(), _elements.Select(item => item.Id).ToList(), ModelType.BimPlusModel);
         OutputPorts[0].Data = output;
     }
 }
Exemple #19
0
 public TypescriptDtoTemplate(DtoModel model, IProject project)
     : base(Identifier, project, model.Class)
 {
     Namespace = model.BoundedContextName == project.ApplicationName().Replace("_Client", "") ? "App.Contracts" : $"App.Contracts.{model.BoundedContextName}";
     Location  = model.BoundedContextName == project.ApplicationName().Replace("_Client", "") ? $@"wwwroot\App\DTOs\Generated" : $@"wwwroot\App\DTOs\Generated\{model.BoundedContextName}";
 }
Exemple #20
0
 public string TestA(DtoModel dtoModel)
 {
     return(dtoModel.Title);
 }
            public void Should_map_object_to_sub_object()
            {
                var model = new Model
                    {
                        Object = new ModelSubObject {BaseString = "Base2", SubString = "Sub2"}
                    };

                _result = Mapper.Map<Model, DtoModel>(model);
                _result.Object.ShouldNotBeNull();
                _result.Object.ShouldBeInstanceOf<DtoSubObject>();
                _result.Object.ShouldBeInstanceOf<DtoSubObject>();
                _result.Object.BaseString.ShouldEqual("Base2");
                ((DtoSubObject) _result.Object).SubString.ShouldEqual("Sub2");
            }