private async Task <RequestResult <InspectionItemResultOutput> > CreateAsync(EditInspectionItemResultInput input)
        {
            RequestResult <InspectionItemResultOutput> rst = new RequestResult <InspectionItemResultOutput>();

            try
            {
                var data = ObjectMapper.Map <InspectionItemResult>(input);
                SetAttachmentFolder(ref data);
                await _inspectionItemResultRepository.InsertOneAsync(data).ConfigureAwait(false);

                rst.ResultData = ObjectMapper.Map <InspectionItemResultOutput>(data);
                rst.Flag       = true;
            }
            catch
            {
                rst.Flag = false;
            }
            return(rst);
        }
        private async Task <RequestResult <InspectionItemResultOutput> > UpdateAsync(EditInspectionItemResultInput input)
        {
            RequestResult <InspectionItemResultOutput> rst = new RequestResult <InspectionItemResultOutput>();

            try
            {
                var data = await _inspectionItemResultRepository.FirstOrDefaultAsync(e => e.Id == input.Id).ConfigureAwait(false);

                ObjectMapper.Map(input, data);
                await _inspectionItemResultRepository.UpdateOneAsync(data).ConfigureAwait(false);

                rst.Flag       = true;
                rst.ResultData = ObjectMapper.Map <InspectionItemResultOutput>(data);
            }
            catch
            {
                rst.Flag = false;
            }
            return(rst);
        }
        public async Task <RequestResult <InspectionItemResultOutput> > CreateOrUpdateAsync(EditInspectionItemResultInput input)
        {
            if (input == null)
            {
                return(null);
            }
            RequestResult <InspectionItemResultOutput> rst;

            if (input.Id != null)
            {
                rst = await this.UpdateAsync(input).ConfigureAwait(false);
            }
            else
            {
                rst = await this.CreateAsync(input).ConfigureAwait(false);
            }
            return(rst);
        }