Example #1
0
        // Function for organizing data to be saved in the log and logging model changes
        // Use context to find url
        public async void Save(T values, LogType.Type type, HttpContext context)
        {
            var page          = context.Request.GetDisplayUrl();
            var changesToSave = GetValues(values, typeof(T));

            await Save(values, type, changesToSave, page);
        }
Example #2
0
        // Function that saves log data
        internal async Task Save(T values, LogType.Type type, string newValues, string url)
        {
            // Create the log object
            var log = new Log {
                Url = url, DateUpdate = DateTime.Now, Type = type.ToString()
            };

            // Selects which logging method to save
            switch (type)
            {
            case LogType.Type.Create:
                log.After = newValues;
                break;

            case LogType.Type.Update:
            {
                // When it is update, consult the current values ​​of the table, to register in the before.
                var currentData = await GetCurrentModelState(values);

                var oldModel = GetValues(currentData, typeof(T));

                log.After  = newValues;
                log.Before = oldModel;

                break;
            }

            case LogType.Type.Delete:
                log.Before = newValues;
                break;

            default:
                log.After = newValues;
                break;
            }

            await SaveLog(log);
        }
Example #3
0
        // Function for organizing data to be saved in the log and logging model changes
        // Change url is passed by parameter
        public async void Save(T values, LogType.Type type, string page)
        {
            var changesToSave = GetValues(values, typeof(T));

            await Save(values, type, changesToSave, page);
        }