public async Task <SegmentResponse> UpdateAsync(string id, SegmentCreateUpdateRequest request)
        {
            Segment segment = await GetSegmentById(id);

            segment.Description = request.Description;

            var result = await _segmentRepository.UpdateAsync(segment);

            var response = (SegmentResponse)result;

            await _segmentRepository.SaveChangesAsync();

            return(response);
        }
        public async Task <SegmentResponse> CreateAsync(SegmentCreateUpdateRequest request)
        {
            var model = (Segment)request;

            model.Id = Guid.NewGuid();

            var result = await _segmentRepository.SaveAsync(model);

            var response = (SegmentResponse)result;

            await _segmentRepository.SaveChangesAsync();

            return(response);
        }
        public async Task <IActionResult> Update([FromRoute] string id, [FromBody] SegmentCreateUpdateRequest request)
        {
            var response = await _segmentService.UpdateAsync(id, request);

            return(Ok(response));
        }
        public async Task <IActionResult> Create([FromBody] SegmentCreateUpdateRequest request)
        {
            var response = await _segmentService.CreateAsync(request);

            return(Created(response.Id.ToString(), response));
        }