public async Task <VendorInsertResponseDTO> Insert(VendorInsertDTO dto) { var tagList = new List <Tag>(); if (dto.Tags != null && dto.Tags.Count > 0) { foreach (var Tag in dto.Tags) { var tag = new Tag() { Name = Tag.Name, Value = Tag.Value }; tagList.Add(tag); } } var vendor = new Vendor() { Name = dto.Name, Title = dto.Title, Date = dto.Date, Tags = tagList }; using TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled); var vendorResult = await _repository.Insert(vendor); VendorInsertResponseDTO vendorDTO = new VendorInsertResponseDTO() { Id = vendorResult.Id, Name = vendorResult.Name, Title = vendorResult.Title, Date = vendorResult.Date, Tags = vendorResult.Tags.Select(x => new TagDTO { Name = x.Name, Value = x.Value }).ToList() }; string json = JsonConvert.SerializeObject(vendorDTO); var history = new History() { VendorId = vendorDTO.Id, Operation = "Post", JsonResult = json, }; await _historyRepository.Insert(history); scope.Complete(); return(vendorDTO); }
public async Task <VendorInsertResponseDTO> InsertVendorAsync(VendorInsertDTO dto) { var tagList = new List <Tag>(); if (dto.Tags != null && dto.Tags.Count > 0) { foreach (var Tag in dto.Tags) { var tag = new Tag() { Name = Tag.Name, Value = Tag.Value }; tagList.Add(tag); } } string VendorId = Guid.NewGuid().ToString(); var vendor = new Vendor() { Id = VendorId, Name = dto.Name, Title = dto.Title, Date = dto.Date, Tags = tagList }; VendorInsertResponseDTO vendorDTO = new VendorInsertResponseDTO() { Id = vendor.Id, Name = vendor.Name, Title = vendor.Title, Date = vendor.Date, Tags = vendor.Tags.Select(x => new TagDTO { Name = x.Name, Value = x.Value }).ToList() }; string json = JsonConvert.SerializeObject(vendorDTO); var history = new History() { VendorId = vendorDTO.Id, Operation = "Post", JsonResult = json, }; await _historyRepository.InsertHistoryAndVendorAsync(vendor, history); return(vendorDTO); }
public VendorInsertResponseDTO Insert(VendorInsertResponseDTO dto) { var vendorTagList = new List <Tag>(); if (dto.Tags != null && dto.Tags.Count > 0) { foreach (var item in dto.Tags) { var tag = new Tag { Name = item.Name, Value = item.Value }; vendorTagList.Add(tag); } } var vendor = new Vendor() { Id = dto.Id, Name = dto.Name, Title = dto.Title, Date = dto.Date, Tags = vendorTagList }; var inserted = _repository.Insert(vendor); var vendorDto = new VendorInsertResponseDTO() { Id = inserted.Id, Name = inserted.Name, Title = inserted.Title, Date = inserted.Date, Tags = inserted.Tags.Select(x => new TagDTO { Name = x.Name, Value = x.Value }).ToList() }; if (vendorDto != null) { return(vendorDto); } return(null); }
public IActionResult InsertVendor([FromBody] VendorInsertResponseDTO dto) { var vendorInsertResponse = _vendorService.Insert(dto); return(Created(new Uri($"/api/Vendors/{vendorInsertResponse.Id}", UriKind.Relative), vendorInsertResponse)); }
public async Task <VendorInsertResponseDTO> Insert(VendorInsertDTO dto) { string Id = Guid.NewGuid().ToString(); var tagList = new List <Tag>(); if (dto.Tags != null && dto.Tags.Count > 0) { foreach (var Tag in dto.Tags) { var tag = new Tag() { Name = Tag.Name, Value = Tag.Value }; tagList.Add(tag); } } VendorHistoryDTO vendorHistoryDTO = new VendorHistoryDTO() { Id = Id, Name = dto.Name, Title = dto.Title, Date = dto.Date, Tags = dto.Tags.Select(x => new TagDTO { Name = x.Name, Value = x.Value }).ToList() }; string json = JsonConvert.SerializeObject(vendorHistoryDTO); var historyList = new List <History>(); var history = new History() { VendorId = Id, Operation = "Post", JsonResult = json, }; historyList.Add(history); var vendor = new Vendor() { Id = Id, Name = dto.Name, Title = dto.Title, Date = dto.Date, Tags = tagList, Histories = historyList }; var vendorResult = await _repository.Insert(vendor); VendorInsertResponseDTO vendorResponseDTO = new VendorInsertResponseDTO() { Id = vendorResult.Id, Name = vendorResult.Name, Title = vendorResult.Title, Date = vendorResult.Date, Tags = vendorResult.Tags.Select(x => new TagDTO { Name = x.Name, Value = x.Value }).ToList(), Histories = vendorResult.Histories.Select(y => new HistoryDTO { JsonResult = y.JsonResult, Operation = y.Operation, }).ToList() }; return(vendorResponseDTO); }