Example #1
0
        /// <summary>
        /// Get entity versions
        /// </summary>
        /// <param name="id"></param>
        /// <param name="moduleName"></param>
        /// <returns></returns>
        public virtual async Task <ResultModel <IEnumerable <TrackAudit> > > GetVersionsAsync(Guid?id, string moduleName)
        {
            var result = new ResultModel <IEnumerable <TrackAudit> >();

            if (id == null || string.IsNullOrEmpty(moduleName))
            {
                return(result);
            }

            var dbContext = TrackerContextsInMemory.GetContextModule(moduleName);

            if (dbContext == null)
            {
                return(result);
            }
            var entry = await dbContext.TrackAudits.FirstOrDefaultAsync(x => x.Id == id);

            if (entry == null)
            {
                return(result);
            }
            if (entry.RecordId.Equals(Guid.Empty))
            {
                return(result);
            }
            var data = dbContext.TrackAudits.Where(x => x.RecordId.Equals(entry.RecordId))
                       .Where(x => !x.IsDeleted)
                       .OrderByDescending(x => x.Version)
                       .Include(x => x.AuditDetailses).ToList();

            result.IsSuccess = true;
            result.Result    = data;
            return(result);
        }
Example #2
0
        /// <summary>
        /// Details
        /// </summary>
        /// <param name="id"></param>
        /// <param name="moduleName"></param>
        /// <returns></returns>
        public async Task <ResultModel <TrackAudit> > GetDetailsAsync(Guid?id, string moduleName)
        {
            var result = new ResultModel <TrackAudit>();

            if (id == null || string.IsNullOrEmpty(moduleName))
            {
                return(result);
            }

            var dbContext = TrackerContextsInMemory.GetContextModule(moduleName);

            if (dbContext == null)
            {
                return(result);
            }
            var track = await GetTrackDetailsAsync(id, dbContext);

            return(track);
        }