public static int Add(AuditContext db, AuditModel model) { SAIS.Data.Audit audit = CreateAudit(model); // Понякога броят на детайлите е много голям и, за да се добавят бързо, трябва да се изключи AutoDetectChanges. //bool originalAutoDetectSetting = db.Configuration.AutoDetectChangesEnabled; //db.Configuration.AutoDetectChangesEnabled = false; try { db.Audits.Add(audit); foreach (AuditDetail detail in audit.AuditDetails) { detail.Audit = audit; db.AuditDetails.Add(detail); } } finally { //db.Configuration.AutoDetectChangesEnabled = originalAutoDetectSetting; } db.SaveChangesWithValidationExplained(); int id = audit.Id; model.Id = id; return(id); }
public bool InsertAudit(AuditModel Audit) { bool result = false; try { using (AuditEntities auditEntities = new AuditEntities()) { var config = new MapperConfiguration( cfg => { cfg.CreateMap <AuditModel, Audit>(); } ); var mapper = config.CreateMapper(); var audit = mapper.Map <Audit>(Audit); auditEntities.Audits.Add(audit); auditEntities.SaveChanges(); } result = true; } catch (Exception ex) { var log = new Logger(); log.LogError(Audit.UserID.ToString(), "DataSolutions.Data", "InsertAudit", ex.Message); } return(result); }
private static Data.Audit CreateAudit(AuditModel model) { return(new Data.Audit() { DateTime = model.DateTime, IpAddress = model.IpAddress, Url = model.UrlAccessed, Data = model.Data, Duration = model.DurationTicks, UserName = model.UserName, UserId = model.UserId, Controller = model.Controller, Action = model.Action, SessionId = model.SessionId, RequestMethod = model.RequestMethod, AuditTypeCode = model.AuditTypeString, Notes = model.Notes, EntityName = model.EntityName, EntityRecordId = model.EntityRecordId, AuditDetails = model.AuditDetails != null?model.AuditDetails.Select(d => CreateAuditDetail(d)).ToArray() : new AuditDetail[] { }, }); }
public static bool InsertAuditDetails(AuditModel _AuditModel) { bool result = false; try { if (_AuditModel != null) { Database db = DatabaseFactory.CreateDatabase("Helios_V2_DB"); DbCommand dbCommand = db.GetStoredProcCommand("sp_Audit_Details_ins"); db.AddInParameter(dbCommand, "@Module_name", DbType.String, _AuditModel.Module_name); db.AddInParameter(dbCommand, "@Log_date", DbType.DateTime, _AuditModel.Log_date); db.AddInParameter(dbCommand, "@Function_name", DbType.String, _AuditModel.Function_name); db.AddInParameter(dbCommand, "@Description", DbType.String, _AuditModel.Description); db.AddInParameter(dbCommand, "@Is_error", DbType.Boolean, _AuditModel.Is_error); int ret = db.ExecuteNonQuery(dbCommand); if (ret > 0) { result = true; } } } catch (Exception ex) { //throw; } return(result); }
public ActionResult Home() { if (Session["User"] is UserModel user) { if (user.IsTempPassword) { return(RedirectToAction("ResetPassword")); } else { if (Request.UrlReferrer.ToString().Contains("Login")) { //Save Audit Details auditModel = new AuditModel { ActivityDescription = "You successfully logged in", AuditDate = DateTime.Now, UserID = user.UserID }; new AuditData().InsertAudit(auditModel); } return(View(user)); } } else { return(RedirectToAction("Login")); } }
public void setup_organisation_is_added() { _organisationId = Guid.NewGuid(); _updatedBy = "test user"; _fieldChanged = "trading name 1"; _previousValue = "Trainer Trading Name"; _newValue = "ANDERSON TRAINING LTD"; _repository = new UpdateOrganisationRepository(_databaseService.WebConfiguration); var auditData = new AuditData { OrganisationId = _organisationId, UpdatedAt = DateTime.Now, UpdatedBy = _updatedBy, FieldChanges = new List <AuditLogEntry> { new AuditLogEntry { FieldChanged = _fieldChanged, PreviousValue = _previousValue, NewValue = _newValue } } }; _updateSuccessful = _repository.WriteFieldChangesToAuditLog(auditData).Result; _auditRecord = AuditHandler.GetOrganisationFromOrganisationId(_organisationId); }
public ActionResult Login(LoginModel _LoginModel) { try { AuditModel _AuditModel = new AuditModel(); _AuditModel.Module_name = "Login Module"; bool AuditResult; if (Membership.ValidateUser(_LoginModel.Username, _LoginModel.Password)) { FormsAuthentication.SetAuthCookie(_LoginModel.Username, _LoginModel.RememberMe); string Msg = _LoginModel.Username + " successfully Logged in on " + DateTime.Now.ToString(); _AuditModel.Function_name = "Employee"; _AuditModel.Is_error = false; _AuditModel.Description = Msg; AuditResult = AuditLog(_AuditModel); return(this.RedirectToAction("Employee", "Employee")); } else { string Msg = _LoginModel.Username + " failed to login at " + DateTime.Now.ToString(); _AuditModel.Function_name = "Login"; _AuditModel.Is_error = false; _AuditModel.Description = Msg; AuditResult = AuditLog(_AuditModel); ViewBag.msg = "Invalid Username or Password"; } } catch (Exception ex) { ViewBag.msg = ex.Message; } return(View()); }
public static void InsertRecord(AuditModel audit) { var sql = @"set identity_insert [Audit] ON;INSERT INTO [Audit] ([Id], [OrganisationId],[UpdatedBy],[UpdatedAt],[AuditData]) VALUES " + $@"(@id,@organisationId, @updatedBy, @updatedAt, @AuditData);set identity_insert [Audit] OFF; "; DatabaseService.Execute(sql, audit); }
public Task <IActionResult> Post([FromBody] AuditModel auditModel) { return(GuardedExecute(async() => { var item = JObject.FromObject(auditModel); Document savedItem = await _itemsLogic.Create(item); return CreatedAtRoute("GetAuditFile", new { id = savedItem.Id }, savedItem); })); }
public override Task OnDisconnected(bool stopCalled) { string userName = Context.User.Identity.Name; string connectionId = Context.ConnectionId; UserHubModels user; Users.TryGetValue(userName, out user); if (user != null) { lock (user.ConnectionIds) { user.ConnectionIds.RemoveWhere(cid => cid.Equals(connectionId)); if (!user.ConnectionIds.Any()) { UserHubModels removedUser; Users.TryRemove(userName, out removedUser); Clients.Others.userDisconnected(userName); } } } ActiveConnections.ActiveUsers.Remove(userName); ActiveConnections.ActiveSessions.Remove(Context.ConnectionId); AuditModel objaudit = new AuditModel(); var currentBrowserUrl = Context.QueryString["currentBrowserUrl"]; if (userName != null && userName != "") { objaudit.UserId = Convert.ToInt64(userName); } objaudit.SessionID = Context.ConnectionId; ActiveSessions activeSessions = new ActiveSessions(); activeSessions = ActiveConnections.ActiveSessionsList.Where(x => x.ConnectionId == Context.ConnectionId).FirstOrDefault(); if (activeSessions != null) { objaudit.ConnectedOn = activeSessions.ConnectedOn; objaudit.IPAddress = activeSessions.IpAddress; } objaudit.PageAccessed = currentBrowserUrl; objaudit.DisconnectedOn = DateTime.Now; this._IAuditOrchestrator.SaveMVCAuditTrail(objaudit); return(base.OnDisconnected(stopCalled)); }
public static void GetMissingEntityRecordIdFromDetails(this AuditModel audit) { if (audit.EntityRecordId == null && audit.EntityName != null) { AuditDetailModel logDetail = audit.AuditDetails.Where(ad => ad.EntityName == audit.EntityName).FirstOrDefault(); if (logDetail != null) { audit.EntityRecordId = logDetail.RecordId; } } }
public IHttpActionResult GetBillInfo(HttpRequestMessage request, AuditModel model) { if (model == null) { return(BadRequest("请求错误")); } string validateCode = GetHeader(request, "x-session-token"); string userId = GetHeader(request, "x-session-userid"); var result = Service.GetBillInfo(userId, validateCode, model.ProgId, model.BillNo, model.RowId); return(Ok(result)); }
public async Task <IActionResult> StockInAudit([FromBody] AuditModel model) { if (!ModelState.IsValid) { return(GetModelErrorCode()); } reqmodel <AuditModel> reqmodel = await RequestPackingAsync(model); IStockServer stockServer = new StockServerImpl(g_dbHelper, g_logServer); return(await stockServer.StockInAuditAsync(reqmodel)); }
public async Task <AuditModel> Add(AuditModel audit) { audit.EntryDate = DateTime.Now; var newAudit = new Audit().Assign(audit); await _context.AddAsync(audit); await _context.SaveChangesAsync(); return(audit); }
public override Task OnConnected() { var serverVars = Context.Request.GetHttpContext().Request.ServerVariables; var IpAddress = serverVars["REMOTE_ADDR"]; string userName = Context.User.Identity.Name; string connectionId = Context.ConnectionId; var user = Users.GetOrAdd(userName, _ => new UserHubModels { UserName = userName, ConnectionIds = new HashSet <string>() }); lock (user.ConnectionIds) { user.ConnectionIds.Add(connectionId); if (user.ConnectionIds.Count == 1) { Clients.Others.userConnected(userName); } } ActiveConnections.ActiveUsers.Add(userName); ActiveConnections.ActiveSessions.Add(Context.ConnectionId); ActiveConnections.ActiveSessionsList.Add(new ActiveSessions { ConnectionId = Context.ConnectionId , IpAddress = IpAddress , ConnectedOn = DateTime.Now }); AuditModel objaudit = new AuditModel(); var currentBrowserUrl = Context.QueryString["currentBrowserUrl"]; if (userName != null && userName != "") { objaudit.UserId = Convert.ToInt64(userName); } objaudit.SessionID = Context.ConnectionId; objaudit.IPAddress = IpAddress; objaudit.PageAccessed = currentBrowserUrl; objaudit.ConnectedOn = DateTime.Now; this._IAuditOrchestrator.SaveMVCAuditTrail(objaudit); return(base.OnConnected()); }
public static AuditDto CreateDto(this AuditModel model) { var dto = new AuditDto { Id = model.Id, FacilityId = model.FacilityId, StartTimeUtc = model.StartTime.UtcDateTime, FinishTimeUtc = model.FinishTime.UtcDateTime, Groups = model.Groups.Select(x => x.CreateDto()).ToList() }; return(dto); }
private static void Sanitize(this AuditModel audit) { audit.IpAddress = Sanitize(audit.IpAddress, 100); audit.UrlAccessed = Sanitize(audit.UrlAccessed, 1000); audit.UserName = Sanitize(audit.UserName, 256); audit.Controller = Sanitize(audit.Controller, 1000); audit.Action = Sanitize(audit.Action, 1000); audit.SessionId = Sanitize(audit.SessionId, 1000); audit.RequestMethod = Sanitize(audit.RequestMethod, 100); //audit.AuditTypeString = Sanitize(audit.AuditTypeString, 100); audit.EntityName = Sanitize(audit.EntityName, 100); audit.EntityRecordId = Sanitize(audit.EntityRecordId, 100); }
public static DbSchema FromDomain(AuditModel source) { return(new DbSchema { Timestamp = source.Timestamp, CorrelationId = source.CorrelationId, Type = source.Type.ToString(), DataDiff = source.DataDiff, DataReference = source.DataReference, DataType = source.DataType.ToString(), UserName = source.UserName, }); }
private bool SaveAudit(string Description, int UserID) { result = false; var audit = new AuditModel { ActivityDescription = Description, AuditDate = DateTime.Now, UserID = UserID }; result = new AuditData().InsertAudit(audit); return(result); }
public static AuditModel CreateModel(this AuditDto dto) { var groups = dto.Groups.Select(x => x.CreateModel()).ToList(); var model = new AuditModel(groups) { Id = dto.Id, FacilityId = dto.FacilityId, StartTime = dto.StartTimeUtc.ToLocalTime(), FinishTime = dto.FinishTimeUtc.ToLocalTime() }; return(model); }
public IHttpActionResult Audit(HttpRequestMessage request, AuditModel model) { if (model == null) { return(BadRequest("请求错误")); } string validateCode = GetHeader(request, "x-session-token"); var result = Service.Audit(model.ProgId, model.BillNo, model.RowId, model.UserId, validateCode, model.IsPass, model.Message); if (!result.ReturnValue) { return(BadRequest(result.Message)); } return(Ok(result)); }
private static async Task GetLogDetailsForUpdatedAndDeletedAsync( DbContext db, AuditModel audit, Dictionary <string, AuditConfig> logConfigDictionary) { foreach (var ent in db.ChangeTracker.Entries().Where(p => p.State == EntityState.Modified || p.State == EntityState.Deleted)) { // For each changed record, get the audit record entries and add them List <AuditDetailModel> auditDetails = await GetAuditRecordsForChangeAsync(db, logConfigDictionary, ent, ent.State); foreach (AuditDetailModel logDetail in auditDetails) { audit.AuditDetails.Add(logDetail); } } }
public bool AuditLog(AuditModel _AuditModel) { bool ret = false; try { AuditBL _AuditBL = new AuditBL(); _AuditModel.Log_date = DateTime.Now; ret = _AuditBL.InsertAuditBL(_AuditModel); } catch (Exception ex) { ViewBag.msg = ex.Message; } return(ret); }
public async Task Invoke(HttpContext context, AuditModel auditModel) { try { auditModel.UserName = context.User.Identity.Name; //auditModel.Controller = contextAccessor.HttpContext. await _next(context); } catch (Exception ex) { //await TryLogAsync(context, ex); // Оригиналният exception се подава към следващия middleware, throw ex; } }
private static async Task GetLogDetailsForAddedAsync( DbContext db, AuditModel audit, Dictionary <string, AuditConfig> auditConfigDictionary, IEnumerable <EntityEntry> addedEntries) { foreach (var ent in addedEntries) { List <AuditDetailModel> logDetails = await GetAuditRecordsForChangeAsync(db, auditConfigDictionary, ent, EntityState.Added); foreach (AuditDetailModel logDetail in logDetails) { audit.AuditDetails.Add(logDetail); } } }
public JSUserAction[] Audit(AuditModel model) { return(db.UserAction .Where(x => (!model.PortalUserId.HasValue || model.PortalUserId.Value == x.PortalUserId) && (DateTime.Compare(model.FromDate.Value, x.OnTime) <= 0) && (DateTime.Compare(model.ToDate.Value.AddDays(1), x.OnTime) >= 0)) .OrderBy(x => x.OnTime) .Select(x => new JSUserAction() { Content = x.Content, PortalUserId = x.PortalUserId, OnTime = x.OnTime, Title = x.Title, UserActionId = x.UserActionId, UserName = x.PortalUser.Name }) .ToArray()); }
public Dictionary <string, object> ToDic() { var dic = new Dictionary <string, object>(); dic.SetValue("StepKey", StepKey.ToString()); dic.SetValue("StepName", StepName.ToString()); dic.SetValue("UserID", UserID); dic.SetValue("UserName", UserName); dic.SetValue("Options", String.Join <AuditOption>(",", this.Options)); dic.SetValue("StepIndex", StepIndex); dic.SetValue("AuditModel", AuditModel.ToString()); dic.SetValue("AuditRole", AuditRole.ToString()); dic.SetValue("MustStep", MustStep); dic.SetValue("CoSign", CoSign); dic.SetValue("CoSignRole", CoSignRole); return(dic); }
public JsonResult ResetPassword(string Email) { bool result = false; var user = new UserData().ResetPassword(Email); if (user != null) { //Read Template and send email string path = Server.MapPath("/Templates"); StringBuilder sb = new StringBuilder(System.IO.File.ReadAllText(path + @"/ResetPassword.html")); sb.Replace("!!!FirstName!!!", user.FirstName) .Replace("!!!Surname!!!", user.Surname) .Replace("!!!Password!!!", new DataEncryption().Decrypt(user.Password)); //Audit result = new UserData().InsertUser(user); //Save Audit Details auditModel = new AuditModel { ActivityDescription = "Your password was reset", AuditDate = DateTime.Now, UserID = user.UserID }; result = new AuditData().InsertAudit(auditModel); //Test Email TODO: Remove user.Email = "*****@*****.**"; Domain.Model.Utilities.Email email = new Domain.Model.Utilities.Email { Attachment = null, EmailMessage = sb.ToString(), FromAddress = "*****@*****.**", HasAttachment = false, Subject = "Password Reset", ToEmail = new List <string> { user.Email } }; result = new Utilities.Mail.Email().SendEmail(email); } return(Json(result)); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { string actionName = filterContext.ActionDescriptor.ActionName; string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; var request = filterContext.HttpContext.Request; AuditModel objaudit = new AuditModel(); var user = HttpContext.Current.User as Web.Authentication.CustomPrincipal; if (user == null) { objaudit.UserId = 0; } else { objaudit.UserId = user.UserId; } objaudit.UsersAuditID = 0; objaudit.SessionID = HttpContext.Current.Session.SessionID; objaudit.IPAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? request.UserHostAddress; objaudit.PageAccessed = request.RawUrl; objaudit.LoggedInAt = DateTime.Now; if (actionName == "LogOut") { objaudit.LoggedOutAt = DateTime.Now; } objaudit.LoginStatus = "A"; objaudit.ControllerName = controllerName; objaudit.ActionName = actionName; _IAuditOrchestrator.SaveMVCAuditTrail(objaudit); base.OnActionExecuting(filterContext); }
protected override async Task OnInitializedAsync() { _cancellationTokenSource = new CancellationTokenSource(); if (string.IsNullOrEmpty(AuditId)) { Audit = new AuditModel(AuditItemFactory.CreateDefaultAuditGroups()) { FacilityId = FacilityId }; } else { var auditDto = await HttpClient.GetFromJsonAsync <AuditDto>($"api/audits/{AuditId}"); Audit = auditDto.CreateModel(); } }