Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        public IActionResult InsertVendor([FromBody] VendorInsertResponseDTO dto)
        {
            var vendorInsertResponse = _vendorService.Insert(dto);

            return(Created(new Uri($"/api/Vendors/{vendorInsertResponse.Id}", UriKind.Relative), vendorInsertResponse));
        }
Example #5
0
        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);
        }