/// <summary>
        ///  Get a new incident data
        /// </summary>
        /// <param name="value">Value to be used as incident data.</param>
        /// <returns>An incident data to be used.</returns>
        public IBookingIncidentData GetNewDo(string value)
        {
            var newDto = new BookingIncidentViewObject();

            newDto.COD_INCI = value;
            newDto.IsNew    = true;
            var domainObject = new BookingIncident(newDto);

            return(domainObject);
        }
        /// <summary>
        ///  Get a single domain object value from its code.
        /// </summary>
        /// <param name="code">Code to be used.</param>
        /// <returns>Incident data</returns>
        public async Task <IBookingIncidentData> GetDoAsync(string code)
        {
            IBookingIncidentData result = new NullBookingIncident();

            try
            {
                var dto = await _dataLoader.LoadValueAsync(code).ConfigureAwait(false);

                result       = new BookingIncident(dto);
                result.Valid = true;
            }
            catch (System.Exception ex)
            {
                throw new DataAccessLayerException("Invalid request received with " + code, ex);
            }
            // now i shall use a query store again for setting and loading related stuff.
            if (result.Valid)
            {
                result = await BuildAux(result).ConfigureAwait(false);
            }
            return(result);
        }