Пример #1
0
 public IActionResult InsertAbsencesLogView([FromBody] AuditLogFilter model)
 {
     try
     {
         model.LoginUserId    = base.CurrentUser.Id;
         model.DistrictId     = base.CurrentUser.DistrictId;
         model.OrganizationId = base.CurrentUser.OrganizationId == "-1" ? null : base.CurrentUser.OrganizationId;
         // Audit Log
         var audit = new AuditLog
         {
             UserId         = CurrentUser.Id,
             EntityId       = model.EntityId.ToString(),
             EntityType     = AuditLogs.EntityType.Absence,
             ActionType     = AuditLogs.ActionType.Viewed,
             DistrictId     = CurrentUser.DistrictId,
             OrganizationId = CurrentUser.OrganizationId == "-1" ? null : CurrentUser.OrganizationId
         };
         _audit.InsertAuditLog(audit);
         return(Ok());
     }
     catch (Exception ex)
     {
     }
     finally
     {
     }
     return(null);
 }
Пример #2
0
 public IActionResult InsertAuditLogout([FromBody] AuditLogFilter model)
 {
     try
     {
         model.LoginUserId    = base.CurrentUser.Id;
         model.DistrictId     = base.CurrentUser.DistrictId;
         model.OrganizationId = base.CurrentUser.OrganizationId == "-1" ? null : base.CurrentUser.OrganizationId;
         // Audit Log
         var audit = new AuditLog
         {
             UserId         = CurrentUser.Id,
             EntityType     = AuditLogs.EntityType.User,
             ActionType     = AuditLogs.ActionType.LoggedOut,
             DistrictId     = CurrentUser.DistrictId,
             OrganizationId = CurrentUser.OrganizationId == "-1" ? null : CurrentUser.OrganizationId
         };
         _audit.InsertAuditLog(audit);
         return(Ok());
     }
     catch (Exception ex)
     {
     }
     finally
     {
     }
     return(null);
 }
Пример #3
0
        public IQueryable <AuditLog> Get(AuditLogFilter parameters = null)
        {
            var sqlRawParams = GetSqlRawParameter(parameters);

            if (sqlRawParams.SqlParameters.Count == 0)
            {
                return(dbContext.AuditLogs.Include(a => a.UserAccount).AsNoTracking());
            }
            return(dbContext.AuditLogs.FromSqlRaw(sqlRawParams.SqlQuery, sqlRawParams.SqlParameters.ToArray()).AsNoTracking());
        }
Пример #4
0
        /// <summary>
        /// Retrieves a list of audit records
        /// </summary>
        /// <param name="page">
        /// The requested page from the server. This is an optional
        /// argument and if omitted the server will default to returning the
        /// first page with a maximum of <c>100</c> items.
        /// </param>
        /// <param name="filter">
        /// A filter object to filter the audit records on the
        /// server. If omitted, the server will return all objects as a
        /// paginated response.
        /// </param>
        /// <returns></returns>
        public AuditLogList GetAuditRecords(
            PageInput page        = null,
            AuditLogFilter filter = null)
        {
            // setup parameters
            GraphQLParameters parameters = new GraphQLParameters();

            parameters.Add("page", page, true);
            parameters.Add("filter", filter, true);

            return(RunQuery <AuditLogList>(@"getAuditLog", parameters));
        }
        public List <AuditLogView> GetAuditView(AuditLogFilter model)
        {
            var sql         = "[Users].[GetAuditLog]";
            var queryParams = new DynamicParameters();

            queryParams.Add("@StartDate", model.StartDate);
            queryParams.Add("@EndDate", model.EndDate);
            queryParams.Add("@LoginUserId", model.LoginUserId);
            queryParams.Add("@SearchByEmployeeName", model.SearchByEmployeeName);
            queryParams.Add("@DistrictId", model.DistrictId);
            queryParams.Add("@OrganizationId", model.OrganizationId == "0" ? null : model.OrganizationId);
            var result = Db.Query <AuditLogView>(sql, queryParams, commandType: CommandType.StoredProcedure).ToList();

            return(result);
        }
Пример #6
0
 public IActionResult GetAuditView([FromBody] AuditLogFilter model)
 {
     try
     {
         model.LoginUserId = base.CurrentUser.Id;
         var reportDetails = _audit.GetAuditView(model);
         return(Ok(reportDetails));
     }
     catch (Exception ex)
     {
     }
     finally
     {
     }
     return(null);
 }
Пример #7
0
 public IActionResult GetAbsencesAuditView([FromBody] AuditLogFilter model)
 {
     try
     {
         model.LoginUserId    = base.CurrentUser.Id;
         model.DistrictId     = base.CurrentUser.DistrictId;
         model.OrganizationId = base.CurrentUser.OrganizationId == "-1" ? null : base.CurrentUser.OrganizationId;
         var reportDetails = _audit.GetAbsencesAuditView(model);
         return(Ok(reportDetails));
     }
     catch (Exception ex)
     {
     }
     finally
     {
     }
     return(null);
 }
Пример #8
0
        public SqlRawParameter GetSqlRawParameter(AuditLogFilter parameters)
        {
            if (parameters == null)
            {
                return(new SqlRawParameter());
            }
            var sqlQry = new StringBuilder();

            sqlQry.AppendLine("SELECT * FROM AuditLogs");
            var whereClauses = new List <string>();
            var sqlParams    = new List <SqlParameter>();

            if (parameters.AuditLogEventId > 0)
            {
                sqlParams.Add(new SqlParameter(nameof(parameters.AuditLogEventId).Parametarize(), parameters.AuditLogEventId));
                whereClauses.Add($"{nameof(AuditLog.AuditLogEventId)} = {nameof(parameters.AuditLogEventId).Parametarize()}");
            }
            if (!parameters.DTLogFrom.IsNullOrEmpty())
            {
                sqlParams.Add(new SqlParameter(nameof(parameters.DTLogFrom).Parametarize(), parameters.DTLogFrom.Value.Date));
                sqlParams.Add(new SqlParameter(nameof(parameters.DTLogTo).Parametarize(), parameters.DTLogTo.Value.Date));
                whereClauses.Add($"CAST({nameof(AuditLog.DTLog)} AS DATE) BETWEEN {nameof(parameters.DTLogFrom).Parametarize()} AND {nameof(parameters.DTLogTo).Parametarize()} ");
            }
            if (!String.IsNullOrEmpty(parameters.UserAccountId))
            {
                sqlParams.Add(new SqlParameter(nameof(parameters.UserAccountId).Parametarize(), parameters.UserAccountId));
                whereClauses.Add($"{nameof(AuditLog.UserAccountId)} = {parameters.UserAccountId.Parametarize()}");
            }

            if (whereClauses.Count > 0)
            {
                sqlQry.AppendLine(" WHERE ");
                sqlQry.AppendLine(String.Join(" AND ", whereClauses.ToArray()));
            }

            return(new SqlRawParameter()
            {
                SqlParameters = sqlParams, SqlQuery = sqlQry.ToString()
            });
        }
        public List <AuditLogAbsenceView> GetAbsencesAuditView(AuditLogFilter model)
        {
            var sql         = "[Users].[GetAuditLogAbsences]";
            var queryParams = new DynamicParameters();

            queryParams.Add("@DistrictId", model.DistrictId);
            queryParams.Add("@OrganizationId", model.OrganizationId);
            if (model.EntityId.Length > 0)
            {
                queryParams.Add("@StartDate", null);
                queryParams.Add("@EndDate", null);
            }
            else
            {
                queryParams.Add("@StartDate", model.StartDate);
                queryParams.Add("@EndDate", model.EndDate);
            }
            queryParams.Add("@EntityId", model.EntityId);
            queryParams.Add("@LoginUserId", model.LoginUserId);
            var result = Db.Query <AuditLogAbsenceView>(sql, queryParams, commandType: CommandType.StoredProcedure).ToList();

            return(result);
        }
Пример #10
0
        public IActionResult Get([FromQuery] AuditLogFilter parameters = null)
        {
            try
            {
                var model2 = repository.Get(parameters).ToList();

                var model = repository.Get(parameters).Select(a => new
                {
                    a.AuditLogId,
                    a.AuditLogEventId,
                    a.AuditLogEventDesc,
                    a.DTLog,
                    UserAccountFullName = a.UserAccount != null ? a.UserAccount.FullName : "",
                    a.Notes
                });
                return(Ok(model));
            }
            catch (Exception ex)
            {
                logger.LogError(ex.GetExceptionMessages());
                return(StatusCode(StatusCodes.Status500InternalServerError, Constants.ErrorMessages.FetchError));
            }
        }
Пример #11
0
        public async Task <AuditLog> GetAuditLogAsync(string nextPageKey = null, int?pageSize = null, AuditLogFilter filter = null, Timeframe from = null, Timeframe to = null, bool?oldestFirst = null,
                                                      CancellationToken cancellationToken = default)
        {
            var queryParamValues = new Dictionary <string, object>();

            if (nextPageKey is not null)
            {
                queryParamValues[nameof(nextPageKey)] = nextPageKey;
            }

            if (pageSize is not null)
            {
                queryParamValues[nameof(pageSize)] = pageSize;
            }

            if (filter is not null)
            {
                queryParamValues[nameof(filter)] = filter.ToString();
            }

            if (from is not null)
            {
                queryParamValues[nameof(from)] = from.ToString();
            }

            if (to is not null)
            {
                queryParamValues[nameof(to)] = to.ToString();
            }

            if (oldestFirst is not null)
            {
                queryParamValues["sort"] = oldestFirst is true ? "timestamp" : "-timestamp";
            }

            var response = await GetAuditLogsUrl()
                           .SetQueryParams(queryParamValues)
                           .GetJsonIfNotEmptyAsync(new AuditLog(), cancellationToken)
                           .ConfigureAwait(false);

            return(response);
        }
Пример #12
0
 public List <AuditLogAbsenceView> GetAbsencesAuditView(AuditLogFilter model)
 {
     return(_repo.GetAbsencesAuditView(model));
 }
Пример #13
0
 public List <AuditLogView> GetAuditView(AuditLogFilter model)
 {
     return(_repo.GetAuditView(model));
 }