Esempio n. 1
0
        public static ProductSuiteDto ToDto(this ProductSuite suite)
        {
            suite.Versions?.ForEach(v => v.SuiteId = suite.Id);



            var dto = new ProductSuiteDto
            {
                CategoryId = suite.CategoryId,
                UniqueId   = suite.UniqueId,
                Name       = suite.Name,
                Versions   = suite.Versions?.Select(v => v.ToDto()).ToList()
            };

            ((IData)suite).ToDto((IDataDto)dto);
            return(dto);
        }
Esempio n. 2
0
        public static ProductSuite ToDomain(this ProductSuiteDto suite, ProductSuite originalsuite = null)
        {
            suite.Versions?.ForEach(v => v.SuiteId = suite.Id);

            if (originalsuite != null && originalsuite.UniqueId == suite.UniqueId)
            {
                originalsuite.Name       = suite.Name;
                originalsuite.CategoryId = suite.CategoryId;

                originalsuite.Versions
                    = suite.Versions?.Select(v => v.ToDomain(originalsuite?.Versions.FirstOrDefault(ov => ov.UniqueId == v.UniqueId))).ToList();

                //foreach (var version in suite.Versions ?? Enumerable.Empty<ProductVersionDto>())
                //{
                //    var original = originalsuite.Versions.SingleOrDefault(l => l.Id == version.Id);
                //    if (original != null)
                //    {
                //        var updatedOriginal = version.ToDomain(original);
                //        var index = originalsuite.Versions.IndexOf(original);
                //        originalsuite.Versions[index] = updatedOriginal;
                //    }
                //    else
                //    {
                //        var Domainlayout = version.ToDomain();
                //        originalsuite.Versions.Add(Domainlayout);
                //    }

                //}

                ((IDataDto)suite).ToDomain((IData)originalsuite);
                return(originalsuite);
            }

            var data = new ProductSuite
            {
                UniqueId   = suite.UniqueId,
                Name       = suite.Name,
                CategoryId = suite.CategoryId,
                Versions   = suite.Versions?.Select(v => v.ToDomain()).ToList(),
            };

            ((IDataDto)suite).ToDomain((IData)data);
            return(data);
        }
Esempio n. 3
0
        public void Post()
        {
            try
            {
                using (var server = TestServer.Create <MyStartup>())
                {
                    var dto = new ProductSuiteDto
                    {
                        Id         = 2,
                        Name       = "Product Suite 5",
                        CategoryId = 1
                    };

                    HttpResponseMessage response;
                    response = server.HttpClient.PostAsJsonAsync("api/ProductSuite", dto).Result;
                }
            }
            catch (Exception ex)
            {
            }
        }
Esempio n. 4
0
        public void PostwithDependents()
        {
            try
            {
                using (var server = TestServer.Create <MyStartup>())
                {
                    var dto = new ProductSuiteDto
                    {
                        Id         = 4,
                        Name       = "Product Suite 5",
                        UniqueId   = new Guid("8537c238-c6f2-434f-8af4-c2b506e021be"),
                        CategoryId = 1,
                        Versions   = new List <ProductVersionDto>
                        {
                            new ProductVersionDto {
                                Id        = 0,
                                UniqueId  = Guid.NewGuid(),
                                StartDate = DateTime.Today,
                                EndDate   = DateTime.Today.AddDays(7)
                            },
                            new ProductVersionDto {
                                Id        = 0,
                                UniqueId  = Guid.NewGuid(),
                                StartDate = DateTime.Today.AddDays(8),
                                EndDate   = DateTime.Today.AddDays(14)
                            }
                        }
                    };

                    HttpResponseMessage response;
                    response = server.HttpClient.PostAsJsonAsync("api/ProductSuite/Dependents/", dto).Result;
                }
            }
            catch (Exception ex)
            {
            }
        }