public async Task <HazardGroup> UpdateHazardGroupAsync(HazardGroup hazardGroup, string mappingScheme)
        {
            hazardGroupMappingSchemeRegistrator.Register();
            var updatedHazardGroup = unitOfWork.Add(hazardGroup, mappingScheme);

            await unitOfWork.SaveAsync();

            return(updatedHazardGroup);
        }
        public async Task <long> CreateHazardGroupAsync(HazardGroup hazardGroup, string mappingScheme)
        {
            hazardGroupMappingSchemeRegistrator.Register();
            var insertedHazardGroup = unitOfWork.Add(hazardGroup, mappingScheme);

            await unitOfWork.SaveAsync();

            return(insertedHazardGroup.Id);
        }
        public async Task <ApiResult> UpdateHazardGroupAsync(HazardGroupDto hazardGroupDto)
        {
            var hazardGroup = new HazardGroup();

            Mapper.Map(hazardGroupDto, hazardGroup);
            var updatedHazardGroup = await hazardGroupRepository.UpdateHazardGroupAsync(hazardGroup, hazardGroupDto.MappingScheme);

            var apiResult = new ApiResult(MessageType.Success);

            return(apiResult);
        }
        public async Task <ApiResult> CreateHazardGroupAsync(HazardGroupDto hazardGroupDto)
        {
            var hazardGroup = new HazardGroup();

            Mapper.Map(hazardGroupDto, hazardGroup);
            var insertedId = await hazardGroupRepository.CreateHazardGroupAsync(hazardGroup, hazardGroupDto.MappingScheme);

            var apiResult = new ApiResult(MessageType.Success);

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

            return(apiResult);
        }