示例#1
0
        public bool TraceStartTime(string token, long scopeId, long respondentId)
        {
            if (!_userValidation.ValidateToken(token))
            {
                throw new AddressAccessDeniedException();
            }

            _log.Information($"{GetCurrentMethod()} called.");
            try
            {
                var target = _respondentsRepository.FindById(respondentId);

                target.Activity.Add(new ActivityData {
                    Code = ActivityCode.StartQuestionaire, RelatedScopeId = scopeId
                });
                _respondentsRepository.Save(target);

                return(true);
            }
            catch (Exception ex)
            {
                _log.Error(ex, ex.Message);
                return(false);
            }
        }
示例#2
0
        private void SaveData <M>(M data, long respId)
        {
            try
            {
                var  target   = _respondentsRepository.FindById(respId);
                Type itemType = typeof(T);
                if (itemType == typeof(SocialNetworkDataVkontakte))
                {
                    target.DataVkontakte = data as SocialNetworkDataVkontakte;
                    _log.Information($"Save VK {respId}");
                }
                if (itemType == typeof(SocialNetworkDataFacebook))
                {
                    target.DataFacebook = data as SocialNetworkDataFacebook;
                    _log.Information($"Save FB {respId}");
                }

                target.Activity.Add(new ActivityData {
                    Code = ActivityCode.SocialNetworkDataLoaded
                });
                _respondentsRepository.Save(target);
            }
            catch (Exception ex)
            {
                _log.Error(ex, ex.Message);
            }
        }