public async Task <HazardControl> UpdateHazardControlAsync(HazardControl hazardControl, string mappingScheme)
        {
            hazardControlMappingSchemeRegistrator.Register();
            var updatedHazardControl = unitOfWork.Add(hazardControl, mappingScheme);

            await unitOfWork.SaveAsync();

            return(updatedHazardControl);
        }
        public async Task <long> CreateHazardControlAsync(HazardControl hazardControl, string mappingScheme)
        {
            hazardControlMappingSchemeRegistrator.Register();
            var insertedHazardControl = unitOfWork.Add(hazardControl, mappingScheme);

            await unitOfWork.SaveAsync();

            return(insertedHazardControl.Id);
        }
        public async Task <ApiResult> UpdateHazardControlAsync(HazardControlDto hazardControlDto)
        {
            var hazardControl = new HazardControl();

            Mapper.Map(hazardControlDto, hazardControl);
            var updatedHazardControl = await hazardControlRepository.UpdateHazardControlAsync(hazardControl, hazardControlDto.MappingScheme);

            var apiResult = new ApiResult(MessageType.Success);

            return(apiResult);
        }
        public async Task <ApiResult> CreateHazardControlAsync(HazardControlDto hazardControlDto)
        {
            var hazardControl = new HazardControl();

            Mapper.Map(hazardControlDto, hazardControl);
            var insertedId = await hazardControlRepository.CreateHazardControlAsync(hazardControl, hazardControlDto.MappingScheme);

            var apiResult = new ApiResult(MessageType.Success);

            apiResult.AdditionalDetails.Add("insertedId", insertedId);

            return(apiResult);
        }