public void Should_replace_destination_list() { Mapper.CreateMap <MasterDto, MasterWithList>(); Mapper.CreateMap <DetailDto, Detail>(); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithList(); IList <Detail> originalCollection = master.Details; Mapper.Map(dto, master); Assert.That(master.Details, Is.Not.SameAs(originalCollection)); }
public async Task <IActionResult> UpdateMasterSub3Async([FromBody] MasterDto request) { if (request == null || request.ID == null) { throw new Exception("master is required!"); } var entity = await _context.Masters .Include(x => x.Subs) .SingleOrDefaultAsync(x => x.ID == request.ID.Value); if (entity == null) { throw new Exception("master entity not found!"); } entity.MasterName = request.MasterName; List <Sub> subs = new List <Sub>(); if (request.Subs != null) { for (int i = 0; i < request.Subs.Count; i++) { var subRequest = request.Subs[i]; if (subRequest.ID == null) { Sub sub = new Sub(); sub.ID = Guid.NewGuid(); sub.SubName = subRequest.SubName; sub.MasterID = entity.ID; subs.Add(sub); } else { Sub sub = entity.Subs.FirstOrDefault(x => x.ID == subRequest.ID.Value); sub.MasterID = entity.ID; sub.SubName = subRequest.SubName; subs.Add(sub); } } } entity.Subs = subs; _context.Masters.Update(entity); int num = await _context.SaveChangesAsync(); var updatedEntity = await _context.Masters .Include(x => x.Subs) .SingleOrDefaultAsync(x => x.ID == request.ID.Value); var responseDto = new Master { ID = updatedEntity.ID, MasterName = updatedEntity.MasterName, Subs = updatedEntity.Subs.Select(x => new Sub { ID = x.ID, SubName = x.SubName, MasterID = updatedEntity.ID }).ToList() }; return(Ok(responseDto)); }
public void Should_keep_and_fill_destination_collection_when_collection_is_implemented_as_set_with_aftermap() { Mapper.CreateMap <MasterDto, MasterWithCollection>() .ForMember(d => d.Details, o => o.Ignore()) .AfterMap((s, d) => FillCollection(s, d, ss => ss.Details, dd => dd.Details)); Mapper.CreateMap <DetailDto, Detail>(); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithCollection(new HashSet <Detail>()); ICollection <Detail> originalCollection = master.Details; Mapper.Map(dto, master); Assert.That(master.Details, Is.SameAs(originalCollection)); Assert.That(master.Details.Count, Is.EqualTo(originalCollection.Count)); }
public void Should_keep_and_fill_destination_list() { Mapper.CreateMap <MasterDto, MasterWithList>() .ForMember(d => d.Details, o => o.UseDestinationValue()); Mapper.CreateMap <DetailDto, Detail>(); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithList(); IList <Detail> originalCollection = master.Details; Mapper.Map(dto, master); Assert.That(master.Details, Is.SameAs(originalCollection)); Assert.That(master.Details.Count, Is.EqualTo(originalCollection.Count)); }
public void Should_be_able_to_map_to_a_collection_type_that_implements_ICollection_of_T() { var config = new MapperConfiguration(cfg => { cfg.CreateMap <MasterDto, MasterWithNoExistingCollection>(); cfg.CreateMap <DetailDto, Detail>(); }); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = config.CreateMapper().Map <MasterDto, MasterWithNoExistingCollection>(dto); master.Details.Count.ShouldEqual(2); }
public void Should_not_replace_destination_list() { var config = new MapperConfiguration(cfg => { cfg.CreateMap <MasterDto, MasterWithList>() .ForMember(d => d.Details, opt => opt.UseDestinationValue()); cfg.CreateMap <DetailDto, Detail>(); }); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithList(); IList <Detail> originalCollection = master.Details; config.CreateMapper().Map(dto, master); originalCollection.ShouldBeSameAs(master.Details); }
public void Should_keep_and_fill_destination_collection_when_collection_is_implemented_as_list() { var config = new MapperConfiguration(cfg => { cfg.CreateMap <MasterDto, MasterWithCollection>() .ForMember(d => d.Details, o => o.UseDestinationValue()); cfg.CreateMap <DetailDto, Detail>(); }); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithCollection(new List <Detail>()); ICollection <Detail> originalCollection = master.Details; config.CreateMapper().Map(dto, master); originalCollection.ShouldBeSameAs(master.Details); originalCollection.Count.ShouldEqual(master.Details.Count); }
public void Should_keep_and_fill_destination_collection_when_collection_is_implemented_as_set_with_aftermap() { var config = new MapperConfiguration(cfg => { cfg.CreateMap <MasterDto, MasterWithCollection>() .ForMember(d => d.Details, o => o.Ignore()) .AfterMap((s, d) => FillCollection(s, d, ss => ss.Details, dd => dd.Details)); cfg.CreateMap <DetailDto, Detail>(); }); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithCollection(new HashSet <Detail>()); ICollection <Detail> originalCollection = master.Details; mapper = config.CreateMapper(); mapper.Map(dto, master); originalCollection.ShouldBeSameAs(master.Details); originalCollection.Count.ShouldEqual(master.Details.Count); }
public async Task <IActionResult> UpdateMasterSubAsync([FromBody] MasterDto request) { if (request == null || request.ID == null) { throw new Exception("master is required!"); } var entity = await _context.Masters .Include(x => x.Subs) .SingleOrDefaultAsync(x => x.ID == request.ID.Value); if (entity == null) { throw new Exception("master entity not found!"); } entity.MasterName = request.MasterName; entity.Subs = null; _context.Masters.Update(entity); int num = await _context.SaveChangesAsync(); var updatedEntity = await _context.Masters .Include(x => x.Subs) .SingleOrDefaultAsync(x => x.ID == request.ID.Value); var responseDto = new Master { ID = updatedEntity.ID, MasterName = updatedEntity.MasterName, Subs = updatedEntity.Subs.Select(x => new Sub { ID = x.ID, SubName = x.SubName, MasterID = updatedEntity.ID }).ToList() }; return(Ok(responseDto)); }
public void Should_not_replace_destination_list() { Mapper.CreateMap <MasterDto, MasterWithList>(); Mapper.CreateMap <DetailDto, Detail>(); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithList(); var originalCollection = master.Details; Mapper.Map(dto, master); originalCollection.ShouldBeSameAs(master.Details); }
public void Should_not_replace_destination_collection() { var config = new MapperConfiguration(cfg => { cfg.CreateMap <MasterDto, MasterWithCollection>(); cfg.CreateMap <DetailDto, Detail>(); }); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithCollection(new List <Detail>()); ICollection <Detail> originalCollection = master.Details; config.CreateMapper().Map(dto, master); originalCollection.ShouldBeSameAs(master.Details); }
public void Should_keep_and_fill_destination_list() { Mapper.CreateMap <MasterDto, MasterWithList>() .ForMember(d => d.Details, o => o.UseDestinationValue()); Mapper.CreateMap <DetailDto, Detail>(); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = new MasterWithList(); var originalCollection = master.Details; Mapper.Map(dto, master); originalCollection.ShouldBeSameAs(master.Details); originalCollection.Count.ShouldBe(master.Details.Count); }
public void Update() { Console.Clear(); var master = new MasterDto(); Output.WriteLine(ConsoleColor.Cyan, "Update master"); try { Console.Write("Master id: "); master.Id = int.Parse(Console.ReadLine()); Console.Write("First name: "); master.FirstName = Console.ReadLine(); Console.Write("Surname: "); master.Surname = Console.ReadLine(); Console.Write("Middle name: "); master.Phone = Console.ReadLine(); Console.Write("Passport id: "); master.PassportId = Console.ReadLine(); _masterService.Update(master); Output.WriteLine(ConsoleColor.Green, "Update was successful"); Console.ReadKey(); Program.NavigateTo <MasterPage>(); } catch (ArgumentException e) { Output.WriteLine(ConsoleColor.Red, e.Message); } }
public void Create() { Console.Clear(); var master = new MasterDto(); Output.WriteLine(ConsoleColor.Cyan, "Create master"); try { Console.Write("First name: "); master.FirstName = Console.ReadLine(); Console.Write("Surname: "); master.Surname = Console.ReadLine(); Console.Write($"Phone: "); master.Phone = Console.ReadLine(); Console.Write($"Passport id: "); master.PassportId = Console.ReadLine(); _masterService.Add(master); Output.WriteLine(ConsoleColor.Green, "Creation was successful"); Console.ReadKey(); Program.NavigateTo <MasterPage>(); } catch (ArgumentNullException e) { Output.WriteLine(ConsoleColor.Red, e.Message); } }
public void Update(MasterDto item) { item.CreateValidation(); var master = _masterRepository.GetById(item.Id); master.FindValidation(); _masterRepository.Update(_mapper.Map <MasterDto, Master>(item)); }
public ActionResult Edit([FromBody] MasterDto master) { try { _masterService.Update(master); } catch (Exception) { return(BadRequest()); } return(Ok()); }
public void Should_be_able_to_map_to_a_collection_type_that_implements_ICollection_of_T() { Mapper.CreateMap <MasterDto, MasterWithNoExistingCollection>(); Mapper.CreateMap <DetailDto, Detail>(); var dto = new MasterDto { Id = 1, Details = new[] { new DetailDto { Id = 2 }, new DetailDto { Id = 3 }, } }; var master = Mapper.Map <MasterDto, MasterWithNoExistingCollection>(dto); master.Details.Count.ShouldBe(2); }
public int Add(MasterDto item) { item.CreateValidation(); return(_masterRepository.Create(_mapper.Map <MasterDto, Master>(item))); }