public async Task AddResult(int providedPayLoadId, string diffResult)
        {
            DataModels.PayLoadDataModel existingDiffResult =
                await _dataBase.GetResult(providedPayLoadId, "DiffResult");

            if (existingDiffResult != null)
            {
                existingDiffResult.Data = diffResult;
                await _dataBase.UpdateDiffResult(existingDiffResult);
            }
            else
            {
                await _dataBase.AddResult(providedPayLoadId, "DiffResult", diffResult);
            }
        }
        public PayLoad AddPayLoad(PayLoad payLoad)
        {
            int id = 0;

            DataModels.PayLoadDataModel payLoadEntity =
                _dataBase.GetPaylod(payLoad.ProvidedPayLoadId, payLoad.Origin);

            if (payLoadEntity != null)
            {
                id = payLoadEntity.Id;
                payLoadEntity.Data = payLoad.Data;
                _dataBase.UpdatePayLoad(payLoadEntity);
            }
            else
            {
                id = _dataBase.AddPayLoad(new DataModels.PayLoadDataModel()
                {
                    ProvidedPayLoadId = payLoad.ProvidedPayLoadId,
                    Origin            = payLoad.Origin,
                    Data = payLoad.Data
                });
            }

            _mediator.DispatchDomainEvents(payLoad);

            DataModels.PayLoadDataModel newlyEntity = _dataBase.GetPaylodById(id);

            if (newlyEntity == null)
            {
                return(null);
            }
            else
            {
                return(new PayLoad(newlyEntity.Id, newlyEntity.ProvidedPayLoadId, newlyEntity.Origin, newlyEntity.Data));
            }
        }
        public PayLoad GetPayLoadById(int id)
        {
            DataModels.PayLoadDataModel result = _dataBase.GetPaylodById(id);

            return(new PayLoad(result.Id, result.ProvidedPayLoadId, result.Origin, result.Data));
        }