public AuditEventWrapper(AuditEvent auditEvent)
 {
     Id = auditEvent.Id;
     Date = (ApiDateTime)auditEvent.Date;
     User = auditEvent.UserName;
     Action = auditEvent.ActionText;
 }
        private static AuditEvent ToAuditEvent(object[] row)
        {
            try
            {
                var evt = new AuditEvent
                    {
                        Id = Convert.ToInt32(row[0]),
                        IP = Convert.ToString(row[1]),
                        Initiator = Convert.ToString(row[2]),
                        Browser = Convert.ToString(row[3]),
                        Mobile = Convert.ToBoolean(row[4]),
                        Platform = Convert.ToString(row[5]),
                        Date = TenantUtil.DateTimeFromUtc(Convert.ToDateTime(row[6])),
                        TenantId = Convert.ToInt32(row[7]),
                        UserId = Guid.Parse(Convert.ToString(row[8])),
                        Page = Convert.ToString(row[9]),
                        Action = Convert.ToInt32(row[10])
                    };

                if (row[11] != null)
                {
                    evt.Description = JsonConvert.DeserializeObject<IList<string>>(Convert.ToString(row[11]), new JsonSerializerSettings
                        {
                            DateTimeZoneHandling = DateTimeZoneHandling.Utc
                        });
                }

                evt.UserName = (row[12] != null && row[13] != null)
                                   ? UserFormatter.GetUserName(Convert.ToString(row[12]), Convert.ToString(row[13]))
                                   : evt.UserId == Core.Configuration.Constants.CoreSystem.ID ? AuditReportResource.SystemAccount
                                         : evt.UserId == Core.Configuration.Constants.Guest.ID ? AuditReportResource.GuestAccount
                                               : evt.Initiator ?? AuditReportResource.UnknownAccount;

                evt.ActionText = AuditActionMapper.GetActionText(evt);
                evt.ActionTypeText = AuditActionMapper.GetActionTypeText(evt);
                evt.Product = AuditActionMapper.GetProductText(evt);
                evt.Module = AuditActionMapper.GetModuleText(evt);

                return evt;
            }
            catch(Exception)
            {
                //log.Error("Error while forming event from db: " + ex);
                return null;
            }
        }