public override int SaveChanges() { var entries = ChangeTracker.Entries().GetEnumerator(); entries.MoveNext(); var entry = entries.Current; if (entry == null) { return(0); } AuditLog log = new AuditLog(); log.Operation = entry.State.ToString().Substring(0, 1); log.Entity = entry.Entity.ToString().Replace("PRS.Models.", ""); if (entry.State != EntityState.Added) { log.EntityKey = GetPrimaryKeyValue(entry.Entity); } log.UserName = UserName; log.OperationDate = DateTime.Now; AuditLogs.Add(log); int count = base.SaveChanges(); if (log.EntityKey == 0) { log.EntityKey = GetPrimaryKeyValue(entry.Entity); Entry(log).State = EntityState.Modified; base.SaveChanges(); } return(count); }
public ResponseMessage UpdateStrategicBusiness(AddStrategicBusiness strategicBusiness, int id) { try { ResponseMessage response = new ResponseMessage(); var sbg = _context.StrategicBusiness.Where(x => x.Id == id && x.IsDelete == false).FirstOrDefault(); if (sbg != null) { if (_context.StrategicBusiness.Where(x => x.Name == strategicBusiness.Name && x.Id != id && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Strategic Business Group already exists"); } else { sbg.Name = strategicBusiness.Name; sbg.IsActive = strategicBusiness.IsActive; _context.SaveChanges(); AuditLogs audit = new AuditLogs() { Message = string.Format("Strategic Business Group {0} updated successfully", strategicBusiness.Name), Action = "Strategic Business", CreatedAt = DateTime.Now }; _commonRepo.AuditLog(audit); response.Message = "Strategic Business Group updated sucessfully"; return(response); } } else { throw new ValueNotFoundException("Strategic Business Group not found"); } } catch (Exception ex) { throw ex; } }
public ResponseMessage BulkInsertWBS(List <AddWorkBreakDown> lstWorkBreakDown) { try { foreach (AddWorkBreakDown wbs in lstWorkBreakDown) { WorkBreakdown wbData = new WorkBreakdown(); WorkBreakdown wbData1 = _context.WorkBreakdown.Where(x => x.WbsId == wbs.WorkBreakDownCode && x.ProjectId == wbs.ProjectId && x.Segment == wbs.Segment && x.SubSegment == wbs.SubSegment && x.Elements == wbs.Element && x.IsDelete == false).FirstOrDefault(); if (wbData1 == null) { wbData.WbsId = wbs.WorkBreakDownCode; wbData.Segment = wbs.Segment; wbData.SubSegment = wbs.SubSegment; wbData.Elements = wbs.Element; wbData.ProjectId = wbs.ProjectId; wbData.CreatedAt = DateTime.Now; wbData.CreatedBy = 1; //to do _context.WorkBreakdown.Add(wbData); _context.SaveChanges(); } } AuditLogs audit = new AuditLogs() { Action = "WBS Insert", Message = string.Format("WBS BulkUpload completed Succussfully"), CreatedBy = null, //TODO:will get from session }; _commonRepo.AuditLog(audit); return(new ResponseMessage() { Message = "WBS Bulk Upload Completed successfully.", }); } catch (Exception ex) { throw ex; } }
public override void OnActionExecuting(ActionExecutingContext context) { if (!context.ActionArguments.Any(m => typeof(RequestViewModel).IsInstanceOfType(m.Value)) || !context.HttpContext.Request.Headers.Keys.Contains("HeadConten") || !context.HttpContext.Request.Headers.Keys.Contains("Client") ) { return; } var vItem = new AuditLogs { Action = context.ActionDescriptor.DisplayName, Path = context.HttpContext.Request.Path, Requset = JsonHelper.SerializeObject(context.ActionArguments), Time = DateTime.Now.ToLocalTime(), Stopwatch = Stopwatch.StartNew(), HeadConten = context.HttpContext.Request.Headers["HeadConten"], ClientInfo = context.HttpContext.Request.Headers["Client"], Ip = context.HttpContext.Request.Headers["X-Original-For"].FirstOrDefault(), }; context.HttpContext.Items["auditlog"] = vItem; }
public void WriteLog(AuditLogs auditLogs, string type) { StringBuilder sb = new StringBuilder(); if (type == "request") { sb.Append(DataConversion.ConvertYMDHMS(DateTime.Now.ToString())); sb.Append(Environment.NewLine); sb.Append("Method:" + " " + auditLogs.Method); sb.Append("Url:" + " " + auditLogs.URL); sb.Append("Controller:" + " " + auditLogs.ControllerName); sb.Append("Action:" + " " + auditLogs.Action); sb.Append("Request Parameter:" + " " + auditLogs.RequestParameter); sb.Append("LogDate:" + " " + DataConversion.ConvertDateYMD(DateTime.Now.ToString())); sb.Append("LogTime:" + " " + DateTime.Now.ToLongTimeString()); } else { sb.Append("log something"); } //File.AppendAllText(LogFilePath + DataConversion.ConvertDateYMD(DateTime.Now.ToShortDateString()) + "-api.txt", sb.ToString()); sb.Clear(); }
public void SaveResonseAuditLog(HttpActionExecutedContext context) { string requestParameter = context.Request.Content.ReadAsStringAsync().Result; string responseParameter = context.Response.Content.ReadAsStringAsync().Result; AuditLogs auditLogs = new AuditLogs(); auditLogs.Method = context.Request.Method.ToString(); auditLogs.URL = context.Request.RequestUri.AbsoluteUri; auditLogs.ControllerName = context.ActionContext.ControllerContext.ControllerDescriptor.ControllerName; auditLogs.Action = context.ActionContext.ActionDescriptor.ActionName; auditLogs.StatusCode = context.Response.ToString().Split(',')[0].ToString().Split(':')[1]; auditLogs.Status = context.Response.ReasonPhrase; auditLogs.RequestParameter = JSONHelper.ToJSON(requestParameter); auditLogs.Response = JSONHelper.ToJSON(responseParameter); auditLogs.LogDate = DataConversion.ConvertYMDHMS(DateTime.Now.ToString()); auditLogs.LogTime = DateTime.Now.ToLongTimeString(); var auditLogsDoc = new Document <AuditLogs>() { Id = "Log_Response_" + DataConversion.ConvertYMDHMS(DateTime.Now.ToString()), Content = auditLogs }; var result = _bucket.Insert(auditLogsDoc); }
public ResponseMessage AddUser(UserDetails userDetails) { ResponseMessage responseMessage = new ResponseMessage(); try { userDetails.userId = 0; if (_context.Users.Where(x => x.Email == userDetails.email && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Email Id already exist."); } else if (_context.Users.Where(x => x.PsNo == userDetails.userName && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("UserName already exist."); } else { Users userDtls = _mapper.Map <Users> (userDetails); userDtls.IsActive = true; _context.Users.Add(userDtls); _context.SaveChanges(); AuditLogs audit = new AuditLogs() { Action = "User", Message = string.Format("New User added Succussfully {0}", userDetails.userName), CreatedAt = DateTime.Now, CreatedBy = userDetails.createdBy }; _commonRepo.AuditLog(audit); return(responseMessage = new ResponseMessage() { Message = "User added successfully." }); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Describe your member here. /// </summary> public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context) { bool flag = false; try { DateTime expiry = DateTime.Now.AddMinutes(context.Options.AccessTokenExpireTimeSpan.TotalMinutes); context.AdditionalResponseParameters.Add("expiry", expiry.ToString("ddd, dd MMM yyyy HH:mm:ss 'GMT'")); flag = AuditLogs.insertCustomerAuthCall(ld.id.ToString(), ld.first_name + " " + ld.last_name, context.Request.Host.Value, ld.email_address, ld.zip, ld.phone_number, context.AccessToken, HttpContext.Current.Request.UserHostAddress, (!ld.is_two_step_enabled).ToString(), ld.verificationCode); //flag = AuditLogs.insertCustomerAuthCall(ld.last_name + " " + ld.first_name, ld.UserID, context.Request.Host.Value, ld.DBServerID, ld.EmailID, ld.MasterCustomerID, ld.Speciality, ld.zip, ld.PhoneNumber, context.AccessToken, ld.UserIPAddress, (!ld.IS2wayEnabled).ToString(), ld.verificationCode, ld.User_Type); } catch (Exception ex) { FileLogger.AppendLog("POWebAPI", LogType.Error, "POWebAPI >> ApplicationOAuthProvider >> GrantResourceOwnerCredentials >> ", ex.Message); } if (flag) { return(base.TokenEndpointResponse(context)); } else { return(null); } }
private Task OnAfterSaveChanges(List <AuditEntry> auditEntries) { if (auditEntries == null || auditEntries.Count == 0) { return(Task.CompletedTask); } foreach (var auditEntry in auditEntries) { foreach (var prop in auditEntry.TemporaryProperties) { if (prop.Metadata.IsPrimaryKey()) { auditEntry.KeyValues[prop.Metadata.Name] = prop.CurrentValue; } else { auditEntry.NewValues[prop.Metadata.Name] = prop.CurrentValue; } } AuditLogs.Add(auditEntry.ToAudit()); } return(SaveChangesAsync()); }
/// <summary> /// Does this object have any dependent objects? (If it does have dependent objects, these would need to be deleted before this object could be deleted.) /// </summary> /// <returns></returns> public bool HasDependentObjects() { return(AuditLogs.Any() || DelineationsWhereYouAreTheVerifiedByPerson.Any() || DelineationStagingsWhereYouAreTheUploadedByPerson.Any() || FieldVisitsWhereYouAreThePerformedByPerson.Any() || FileResourcesWhereYouAreTheCreatePerson.Any() || LandUseBlockStagingsWhereYouAreTheUploadedByPerson.Any() || Notifications.Any() || OnlandVisualTrashAssessmentsWhereYouAreTheCreatedByPerson.Any() || OrganizationsWhereYouAreThePrimaryContactPerson.Any() || RegionalSubbasinRevisionRequestsWhereYouAreTheClosedByPerson.Any() || RegionalSubbasinRevisionRequestsWhereYouAreTheRequestPerson.Any() || StormwaterJurisdictionPeople.Any() || SupportRequestLogsWhereYouAreTheRequestPerson.Any() || TrashGeneratingUnitAdjustmentsWhereYouAreTheAdjustedByPerson.Any() || TreatmentBMPsWhereYouAreTheInventoryVerifiedByPerson.Any() || WaterQualityManagementPlanVerifiesWhereYouAreTheLastEditedByPerson.Any()); }
// private so I didn't have to write the warning above twice. private int SaveChangesImpl(Person person, TransactionScope scope) { // We have Configuration.AutoDetectChangesEnabled turned off by default instead of it being true out of the box // We only need to detect changes when we know we are saving ChangeTracker.DetectChanges(); var dbEntityEntries = ChangeTracker.Entries().ToList(); var addedEntries = dbEntityEntries.Where(e => e.State == EntityState.Added).ToList(); var modifiedEntries = dbEntityEntries.Where(e => e.State == EntityState.Deleted || e.State == EntityState.Modified).ToList(); var objectContext = GetObjectContext(); foreach (var entry in modifiedEntries) { // For each changed record, get the audit record entries and add them var auditRecordsForChange = AuditLog.GetAuditLogRecordsForModifiedOrDeleted(entry, person, objectContext); AuditLogs.AddRange(auditRecordsForChange); } int changes; try { changes = base.SaveChanges(); } catch (DbEntityValidationException ex) { var sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } throw new DbEntityValidationException( "Entity Validation Failed - errors follow:\n" + sb.ToString(), ex ); // Add the original exception as the innerException } foreach (var entry in addedEntries) { // For each added record, get the audit record entries and add them var auditRecordsForChange = AuditLog.GetAuditLogRecordsForAdded(entry, person, objectContext); AuditLogs.AddRange(auditRecordsForChange); } // we need to save the audit log entries now try { base.SaveChanges(); } catch (DbEntityValidationException validationException) { Console.WriteLine(validationException); throw; } scope.Complete(); return(changes); }
protected async override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { DateTime dtProcessStartTime = DateTime.Now; string access_token = string.Empty; string UserEmail = string.Empty; string ReqData = string.Empty; var response = new HttpResponseMessage(HttpStatusCode.Unauthorized); try { ReqData = await request.Content.ReadAsStringAsync(); } catch { } /****************************** Authorization header check *************************************/ if (request.Headers.Authorization != null && request.Headers.Authorization.Scheme.ToLower().Equals("bearer")) { bool Authenticated = false; try { access_token = request.Headers.Authorization.Parameter; DBServerIdentification objData = new DBServerIdentification(); objData = AuditLogs.getIdentificationInfo1(access_token, HttpContext.Current.Request.UserHostAddress, request.RequestUri.AbsolutePath.ToString().ToLower().EndsWith("/verify") ? true : false); if (objData.Status == "Success") { Authenticated = true; request.Properties.Add(Constants.IdentificationInfo, objData); } else { response = new HttpResponseMessage(HttpStatusCode.Unauthorized); } } catch (Exception ex) { response = new HttpResponseMessage(HttpStatusCode.InternalServerError); } if (Authenticated) { response = await base.SendAsync(request, cancellationToken); } } else /************************************************/ { response = await base.SendAsync(request, cancellationToken); } if (!(request.RequestUri.LocalPath.ToString().Equals(@"/") || request.RequestUri.LocalPath.ToString().Length == 0)) { DateTime dtProcessEndTime = DateTime.Now; long? bodylength = 0; long? headerlength = 0; if (response.Content != null) { await response.Content.LoadIntoBufferAsync(); bodylength = response.Content.Headers.ContentLength; headerlength = response.Headers.ToString().Length; } try { string resContaint = string.Empty; try { resContaint = await response.Content.ReadAsStringAsync(); } catch { } await AuditLogs.InsertRequestCall(access_token == null? "" : access_token, request.RequestUri.AbsoluteUri == null? "" : request.RequestUri.AbsoluteUri, request.Headers.ToString(), ReqData == null? "" : ReqData, resContaint, response.StatusCode.ToString(), bodylength == null? "" : bodylength.ToString(), response.Headers == null? "" : response.Headers.ToString(), dtProcessStartTime.ToString("yyyy-MM-dd HH:mm:ss"), dtProcessEndTime.ToString("yyyy-MM-dd HH:mm:ss"), response.StatusCode.GetHashCode()); } catch { } } return(response); }
/// <summary> /// Dependent type names of this entity /// </summary> public void DeleteChildren(DatabaseEntities dbContext) { foreach (var x in AgreementPeople.ToList()) { x.DeleteFull(dbContext); } foreach (var x in AuditLogs.ToList()) { x.DeleteFull(dbContext); } foreach (var x in FileResourcesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GisUploadAttemptsWhereYouAreTheGisUploadAttemptCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationsWhereYouAreTheGrantManager.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationAwardPersonnelAndBenefitsLineItems.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationAwardTravelLineItems.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationChangeLogsWhereYouAreTheChangePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationNotesWhereYouAreTheCreatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationNotesWhereYouAreTheLastUpdatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationNoteInternalsWhereYouAreTheCreatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationNoteInternalsWhereYouAreTheLastUpdatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantAllocationProgramManagers.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantModificationNoteInternalsWhereYouAreTheCreatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantModificationNoteInternalsWhereYouAreTheLastUpdatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantNotesWhereYouAreTheCreatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantNotesWhereYouAreTheLastUpdatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantNoteInternalsWhereYouAreTheCreatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in GrantNoteInternalsWhereYouAreTheLastUpdatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in InteractionEventsWhereYouAreTheStaffPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in InteractionEventContacts.ToList()) { x.DeleteFull(dbContext); } foreach (var x in InvoicesWhereYouAreThePreparedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in Notifications.ToList()) { x.DeleteFull(dbContext); } foreach (var x in OrganizationsWhereYouAreThePrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PerformanceMeasureNotesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PerformanceMeasureNotesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PeopleWhereYouAreTheAddedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonAllowedAuthenticators.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonStewardOrganizations.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonStewardRegions.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonStewardTaxonomyBranches.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProgramsWhereYouAreTheProgramCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProgramsWhereYouAreTheProgramLastUpdatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProgramsWhereYouAreTheProgramPrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectsWhereYouAreTheProposingPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectsWhereYouAreTheReviewedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectInternalNotesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectInternalNotesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectLocationStagings.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectLocationStagingUpdates.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNotesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNotesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNoteUpdatesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNoteUpdatesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectPeople.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectPersonUpdates.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectUpdateBatchesWhereYouAreTheLastUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectUpdateHistoriesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in SupportRequestLogsWhereYouAreTheRequestPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in SystemAttributesWhereYouAreThePrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } }
private void OnBeforeSaveChanges(string userId) { ChangeTracker.DetectChanges(); foreach (var entry in ChangeTracker.Entries <AuditableEntity>()) { if (entry.State == EntityState.Added) { entry.Entity.CreatedById = userId; entry.Entity.CreatedOnUtc = DateTime.UtcNow; } else if (entry.State == EntityState.Modified) { entry.Entity.LastModifiedById = userId; entry.Entity.LastModifiedOnUtc = DateTime.UtcNow; } } var auditEntries = new List <AuditEntry>(); foreach (var entry in ChangeTracker.Entries()) { if (entry.Entity is Audit || entry.State == EntityState.Detached || entry.State == EntityState.Unchanged) { continue; } var auditEntry = new AuditEntry(entry); auditEntry.TableName = entry.Entity.GetType().Name; auditEntry.UserId = userId; auditEntries.Add(auditEntry); foreach (var property in entry.Properties) { string propertyName = property.Metadata.Name; if (property.Metadata.IsPrimaryKey()) { auditEntry.KeyValues[propertyName] = property.CurrentValue; continue; } switch (entry.State) { case EntityState.Added: auditEntry.AuditType = AuditType.Create; auditEntry.NewValues[propertyName] = property.CurrentValue; break; case EntityState.Deleted: auditEntry.AuditType = AuditType.Delete; auditEntry.OldValues[propertyName] = property.OriginalValue; break; case EntityState.Modified: if (property.IsModified) { auditEntry.ChangedColumns.Add(propertyName); auditEntry.AuditType = AuditType.Update; auditEntry.OldValues[propertyName] = property.OriginalValue; auditEntry.NewValues[propertyName] = property.CurrentValue; } break; } } } foreach (var auditEntry in auditEntries) { AuditLogs.Add(auditEntry.ToAudit()); } }
/// <summary> /// Does this object have any dependent objects? (If it does have dependent objects, these would need to be deleted before this object could be deleted.) /// </summary> /// <returns></returns> public bool HasDependentObjects() { return(AgreementPeople.Any() || AuditLogs.Any() || FileResourcesWhereYouAreTheCreatePerson.Any() || GisUploadAttemptsWhereYouAreTheGisUploadAttemptCreatePerson.Any() || GrantAllocationsWhereYouAreTheGrantManager.Any() || GrantAllocationAwardPersonnelAndBenefitsLineItems.Any() || GrantAllocationAwardTravelLineItems.Any() || GrantAllocationChangeLogsWhereYouAreTheChangePerson.Any() || GrantAllocationNotesWhereYouAreTheCreatedByPerson.Any() || GrantAllocationNotesWhereYouAreTheLastUpdatedByPerson.Any() || GrantAllocationNoteInternalsWhereYouAreTheCreatedByPerson.Any() || GrantAllocationNoteInternalsWhereYouAreTheLastUpdatedByPerson.Any() || GrantAllocationProgramManagers.Any() || GrantModificationNoteInternalsWhereYouAreTheCreatedByPerson.Any() || GrantModificationNoteInternalsWhereYouAreTheLastUpdatedByPerson.Any() || GrantNotesWhereYouAreTheCreatedByPerson.Any() || GrantNotesWhereYouAreTheLastUpdatedByPerson.Any() || GrantNoteInternalsWhereYouAreTheCreatedByPerson.Any() || GrantNoteInternalsWhereYouAreTheLastUpdatedByPerson.Any() || InteractionEventsWhereYouAreTheStaffPerson.Any() || InteractionEventContacts.Any() || InvoicesWhereYouAreThePreparedByPerson.Any() || Notifications.Any() || OrganizationsWhereYouAreThePrimaryContactPerson.Any() || PerformanceMeasureNotesWhereYouAreTheCreatePerson.Any() || PerformanceMeasureNotesWhereYouAreTheUpdatePerson.Any() || PeopleWhereYouAreTheAddedByPerson.Any() || PersonAllowedAuthenticators.Any() || PersonStewardOrganizations.Any() || PersonStewardRegions.Any() || PersonStewardTaxonomyBranches.Any() || ProgramsWhereYouAreTheProgramCreatePerson.Any() || ProgramsWhereYouAreTheProgramLastUpdatedByPerson.Any() || ProgramsWhereYouAreTheProgramPrimaryContactPerson.Any() || ProjectsWhereYouAreTheProposingPerson.Any() || ProjectsWhereYouAreTheReviewedByPerson.Any() || ProjectInternalNotesWhereYouAreTheCreatePerson.Any() || ProjectInternalNotesWhereYouAreTheUpdatePerson.Any() || ProjectLocationStagings.Any() || ProjectLocationStagingUpdates.Any() || ProjectNotesWhereYouAreTheCreatePerson.Any() || ProjectNotesWhereYouAreTheUpdatePerson.Any() || ProjectNoteUpdatesWhereYouAreTheCreatePerson.Any() || ProjectNoteUpdatesWhereYouAreTheUpdatePerson.Any() || ProjectPeople.Any() || ProjectPersonUpdates.Any() || ProjectUpdateBatchesWhereYouAreTheLastUpdatePerson.Any() || ProjectUpdateHistoriesWhereYouAreTheUpdatePerson.Any() || SupportRequestLogsWhereYouAreTheRequestPerson.Any() || SystemAttributesWhereYouAreThePrimaryContactPerson.Any()); }
/// <summary> /// Active Dependent type names of this object /// </summary> public List <string> DependentObjectNames() { var dependentObjects = new List <string>(); if (AgreementPeople.Any()) { dependentObjects.Add(typeof(AgreementPerson).Name); } if (AuditLogs.Any()) { dependentObjects.Add(typeof(AuditLog).Name); } if (FileResourcesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(FileResource).Name); } if (GisUploadAttemptsWhereYouAreTheGisUploadAttemptCreatePerson.Any()) { dependentObjects.Add(typeof(GisUploadAttempt).Name); } if (GrantAllocationsWhereYouAreTheGrantManager.Any()) { dependentObjects.Add(typeof(GrantAllocation).Name); } if (GrantAllocationAwardPersonnelAndBenefitsLineItems.Any()) { dependentObjects.Add(typeof(GrantAllocationAwardPersonnelAndBenefitsLineItem).Name); } if (GrantAllocationAwardTravelLineItems.Any()) { dependentObjects.Add(typeof(GrantAllocationAwardTravelLineItem).Name); } if (GrantAllocationChangeLogsWhereYouAreTheChangePerson.Any()) { dependentObjects.Add(typeof(GrantAllocationChangeLog).Name); } if (GrantAllocationNotesWhereYouAreTheCreatedByPerson.Any()) { dependentObjects.Add(typeof(GrantAllocationNote).Name); } if (GrantAllocationNotesWhereYouAreTheLastUpdatedByPerson.Any()) { dependentObjects.Add(typeof(GrantAllocationNote).Name); } if (GrantAllocationNoteInternalsWhereYouAreTheCreatedByPerson.Any()) { dependentObjects.Add(typeof(GrantAllocationNoteInternal).Name); } if (GrantAllocationNoteInternalsWhereYouAreTheLastUpdatedByPerson.Any()) { dependentObjects.Add(typeof(GrantAllocationNoteInternal).Name); } if (GrantAllocationProgramManagers.Any()) { dependentObjects.Add(typeof(GrantAllocationProgramManager).Name); } if (GrantModificationNoteInternalsWhereYouAreTheCreatedByPerson.Any()) { dependentObjects.Add(typeof(GrantModificationNoteInternal).Name); } if (GrantModificationNoteInternalsWhereYouAreTheLastUpdatedByPerson.Any()) { dependentObjects.Add(typeof(GrantModificationNoteInternal).Name); } if (GrantNotesWhereYouAreTheCreatedByPerson.Any()) { dependentObjects.Add(typeof(GrantNote).Name); } if (GrantNotesWhereYouAreTheLastUpdatedByPerson.Any()) { dependentObjects.Add(typeof(GrantNote).Name); } if (GrantNoteInternalsWhereYouAreTheCreatedByPerson.Any()) { dependentObjects.Add(typeof(GrantNoteInternal).Name); } if (GrantNoteInternalsWhereYouAreTheLastUpdatedByPerson.Any()) { dependentObjects.Add(typeof(GrantNoteInternal).Name); } if (InteractionEventsWhereYouAreTheStaffPerson.Any()) { dependentObjects.Add(typeof(InteractionEvent).Name); } if (InteractionEventContacts.Any()) { dependentObjects.Add(typeof(InteractionEventContact).Name); } if (InvoicesWhereYouAreThePreparedByPerson.Any()) { dependentObjects.Add(typeof(Invoice).Name); } if (Notifications.Any()) { dependentObjects.Add(typeof(Notification).Name); } if (OrganizationsWhereYouAreThePrimaryContactPerson.Any()) { dependentObjects.Add(typeof(Organization).Name); } if (PerformanceMeasureNotesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(PerformanceMeasureNote).Name); } if (PerformanceMeasureNotesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(PerformanceMeasureNote).Name); } if (PeopleWhereYouAreTheAddedByPerson.Any()) { dependentObjects.Add(typeof(Person).Name); } if (PersonAllowedAuthenticators.Any()) { dependentObjects.Add(typeof(PersonAllowedAuthenticator).Name); } if (PersonStewardOrganizations.Any()) { dependentObjects.Add(typeof(PersonStewardOrganization).Name); } if (PersonStewardRegions.Any()) { dependentObjects.Add(typeof(PersonStewardRegion).Name); } if (PersonStewardTaxonomyBranches.Any()) { dependentObjects.Add(typeof(PersonStewardTaxonomyBranch).Name); } if (ProgramsWhereYouAreTheProgramCreatePerson.Any()) { dependentObjects.Add(typeof(Program).Name); } if (ProgramsWhereYouAreTheProgramLastUpdatedByPerson.Any()) { dependentObjects.Add(typeof(Program).Name); } if (ProgramsWhereYouAreTheProgramPrimaryContactPerson.Any()) { dependentObjects.Add(typeof(Program).Name); } if (ProjectsWhereYouAreTheProposingPerson.Any()) { dependentObjects.Add(typeof(Project).Name); } if (ProjectsWhereYouAreTheReviewedByPerson.Any()) { dependentObjects.Add(typeof(Project).Name); } if (ProjectInternalNotesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ProjectInternalNote).Name); } if (ProjectInternalNotesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectInternalNote).Name); } if (ProjectLocationStagings.Any()) { dependentObjects.Add(typeof(ProjectLocationStaging).Name); } if (ProjectLocationStagingUpdates.Any()) { dependentObjects.Add(typeof(ProjectLocationStagingUpdate).Name); } if (ProjectNotesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ProjectNote).Name); } if (ProjectNotesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectNote).Name); } if (ProjectNoteUpdatesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ProjectNoteUpdate).Name); } if (ProjectNoteUpdatesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectNoteUpdate).Name); } if (ProjectPeople.Any()) { dependentObjects.Add(typeof(ProjectPerson).Name); } if (ProjectPersonUpdates.Any()) { dependentObjects.Add(typeof(ProjectPersonUpdate).Name); } if (ProjectUpdateBatchesWhereYouAreTheLastUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectUpdateBatch).Name); } if (ProjectUpdateHistoriesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectUpdateHistory).Name); } if (SupportRequestLogsWhereYouAreTheRequestPerson.Any()) { dependentObjects.Add(typeof(SupportRequestLog).Name); } if (SystemAttributesWhereYouAreThePrimaryContactPerson.Any()) { dependentObjects.Add(typeof(SystemAttribute).Name); } return(dependentObjects.Distinct().ToList()); }
/// <summary> /// Active Dependent type names of this object /// </summary> public List <string> DependentObjectNames() { var dependentObjects = new List <string>(); if (AuditLogs.Any()) { dependentObjects.Add(typeof(AuditLog).Name); } if (DocumentLibraryDocumentsWhereYouAreTheLastUpdatePerson.Any()) { dependentObjects.Add(typeof(DocumentLibraryDocument).Name); } if (EvaluationsWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(Evaluation).Name); } if (FileResourceInfosWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(FileResourceInfo).Name); } if (FirmaSessions.Any()) { dependentObjects.Add(typeof(FirmaSession).Name); } if (FirmaSessionsWhereYouAreTheOriginalPerson.Any()) { dependentObjects.Add(typeof(FirmaSession).Name); } if (ImportExternalProjectStagingsWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ImportExternalProjectStaging).Name); } if (Notifications.Any()) { dependentObjects.Add(typeof(Notification).Name); } if (OrganizationsWhereYouAreThePrimaryContactPerson.Any()) { dependentObjects.Add(typeof(Organization).Name); } if (PerformanceMeasureNotesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(PerformanceMeasureNote).Name); } if (PerformanceMeasureNotesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(PerformanceMeasureNote).Name); } if ((PersonLoginAccount != null)) { dependentObjects.Add(typeof(PersonLoginAccount).Name); } if (PersonSettingGridColumnSettings.Any()) { dependentObjects.Add(typeof(PersonSettingGridColumnSetting).Name); } if (PersonStewardGeospatialAreas.Any()) { dependentObjects.Add(typeof(PersonStewardGeospatialArea).Name); } if (PersonStewardOrganizations.Any()) { dependentObjects.Add(typeof(PersonStewardOrganization).Name); } if (PersonStewardTaxonomyBranches.Any()) { dependentObjects.Add(typeof(PersonStewardTaxonomyBranch).Name); } if (ProjectsWhereYouAreThePrimaryContactPerson.Any()) { dependentObjects.Add(typeof(Project).Name); } if (ProjectsWhereYouAreTheProposingPerson.Any()) { dependentObjects.Add(typeof(Project).Name); } if (ProjectsWhereYouAreTheReviewedByPerson.Any()) { dependentObjects.Add(typeof(Project).Name); } if (ProjectsWhereYouAreTheSubmittedByPerson.Any()) { dependentObjects.Add(typeof(Project).Name); } if (ProjectContactsWhereYouAreTheContact.Any()) { dependentObjects.Add(typeof(ProjectContact).Name); } if (ProjectContactUpdatesWhereYouAreTheContact.Any()) { dependentObjects.Add(typeof(ProjectContactUpdate).Name); } if (ProjectInternalNotesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ProjectInternalNote).Name); } if (ProjectInternalNotesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectInternalNote).Name); } if (ProjectLocationStagings.Any()) { dependentObjects.Add(typeof(ProjectLocationStaging).Name); } if (ProjectLocationStagingUpdates.Any()) { dependentObjects.Add(typeof(ProjectLocationStagingUpdate).Name); } if (ProjectNotesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ProjectNote).Name); } if (ProjectNotesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectNote).Name); } if (ProjectNoteUpdatesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ProjectNoteUpdate).Name); } if (ProjectNoteUpdatesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectNoteUpdate).Name); } if (ProjectProjectStatusesWhereYouAreTheProjectProjectStatusCreatePerson.Any()) { dependentObjects.Add(typeof(ProjectProjectStatus).Name); } if (ProjectProjectStatusesWhereYouAreTheProjectProjectStatusLastEditedPerson.Any()) { dependentObjects.Add(typeof(ProjectProjectStatus).Name); } if (ProjectUpdatesWhereYouAreThePrimaryContactPerson.Any()) { dependentObjects.Add(typeof(ProjectUpdate).Name); } if (ProjectUpdateBatchesWhereYouAreTheLastUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectUpdateBatch).Name); } if (ProjectUpdateHistoriesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ProjectUpdateHistory).Name); } if (ReleaseNotesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(ReleaseNote).Name); } if (ReleaseNotesWhereYouAreTheUpdatePerson.Any()) { dependentObjects.Add(typeof(ReleaseNote).Name); } if (SupportRequestLogsWhereYouAreTheRequestPerson.Any()) { dependentObjects.Add(typeof(SupportRequestLog).Name); } if (TechnicalAssistanceRequests.Any()) { dependentObjects.Add(typeof(TechnicalAssistanceRequest).Name); } if (TechnicalAssistanceRequestUpdates.Any()) { dependentObjects.Add(typeof(TechnicalAssistanceRequestUpdate).Name); } if (TenantAttributesWhereYouAreThePrimaryContactPerson.Any()) { dependentObjects.Add(typeof(TenantAttribute).Name); } return(dependentObjects.Distinct().ToList()); }
/// <summary> /// Dependent type names of this entity /// </summary> public void DeleteChildren(DatabaseEntities dbContext) { foreach (var x in AuditLogs.ToList()) { x.DeleteFull(dbContext); } foreach (var x in DocumentLibraryDocumentsWhereYouAreTheLastUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in EvaluationsWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in FileResourceInfosWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in FirmaSessions.ToList()) { x.DeleteFull(dbContext); } foreach (var x in FirmaSessionsWhereYouAreTheOriginalPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ImportExternalProjectStagingsWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in Notifications.ToList()) { x.DeleteFull(dbContext); } foreach (var x in OrganizationsWhereYouAreThePrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PerformanceMeasureNotesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PerformanceMeasureNotesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonLoginAccounts.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonSettingGridColumnSettings.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonStewardGeospatialAreas.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonStewardOrganizations.ToList()) { x.DeleteFull(dbContext); } foreach (var x in PersonStewardTaxonomyBranches.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectsWhereYouAreThePrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectsWhereYouAreTheProposingPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectsWhereYouAreTheReviewedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectsWhereYouAreTheSubmittedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectContactsWhereYouAreTheContact.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectContactUpdatesWhereYouAreTheContact.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectInternalNotesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectInternalNotesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectLocationStagings.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectLocationStagingUpdates.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNotesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNotesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNoteUpdatesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectNoteUpdatesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectProjectStatusesWhereYouAreTheProjectProjectStatusCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectProjectStatusesWhereYouAreTheProjectProjectStatusLastEditedPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectUpdatesWhereYouAreThePrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectUpdateBatchesWhereYouAreTheLastUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ProjectUpdateHistoriesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ReleaseNotesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in ReleaseNotesWhereYouAreTheUpdatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in SupportRequestLogsWhereYouAreTheRequestPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in TechnicalAssistanceRequests.ToList()) { x.DeleteFull(dbContext); } foreach (var x in TechnicalAssistanceRequestUpdates.ToList()) { x.DeleteFull(dbContext); } foreach (var x in TenantAttributesWhereYouAreThePrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } }
private void TrackChanges() { var modifiedEntities = ChangeTracker.Entries() .Where(p => p.State == EntityState.Modified).ToList(); var now = DateTime.UtcNow; foreach (var change in modifiedEntities) { if (change.Entity is AuditedEntity) { var primaryKey = GetPrimaryKeyValue(change); var entityName = GetTableName(change); foreach (var prop in change.OriginalValues.PropertyNames) { if (prop == "ModifyUser" || prop == "ModifyDate") { continue; } string originalValue = string.Empty; string currentValue = string.Empty; if (change.OriginalValues[prop] != null) { originalValue = change.OriginalValues[prop].ToString(); } if (change.CurrentValues[prop] != null) { currentValue = change.CurrentValues[prop].ToString(); } if (originalValue != currentValue) { AuditLog log = new AuditLog() { EntityName = entityName, PrimaryKeyValue = (int)primaryKey, PropertyName = prop, OldValue = originalValue, NewValue = currentValue, DateChanged = now, UserName = KontoGlobals.UserName, MenuId = KontoGlobals.MenuId }; log.EntryMode = Convert.ToBoolean(change.Property("IsDeleted").CurrentValue) ? "Delete" : "Edit"; AuditLogs.Add(log); } } } } foreach (var entry in this.ChangeTracker.Entries().Where(e => e.State == EntityState.Added || e.State == EntityState.Modified)) { if (entry.Entity is AuditedEntity) { var auditable = entry.Entity as AuditedEntity; if (entry.State == EntityState.Added) { auditable.RowId = Guid.NewGuid(); //auditable.CreatedBy = UserProvider;// auditable.CreateDate = TimestampProvider(); auditable.CreateUser = KontoGlobals.UserName; //auditable.UpdatedOn = TimestampProvider(); } else { //auditable.UpdatedBy = UserProvider; auditable.ModifyUser = KontoGlobals.UserName; auditable.ModifyDate = TimestampProvider(); } auditable.IpAddress = UserIpAddress; } } }
/// <summary> /// Does this object have any dependent objects? (If it does have dependent objects, these would need to be deleted before this object could be deleted.) /// </summary> /// <returns></returns> public bool HasDependentObjects() { return(AuditLogs.Any() || DocumentLibraryDocumentsWhereYouAreTheLastUpdatePerson.Any() || EvaluationsWhereYouAreTheCreatePerson.Any() || FileResourceInfosWhereYouAreTheCreatePerson.Any() || FirmaSessions.Any() || FirmaSessionsWhereYouAreTheOriginalPerson.Any() || ImportExternalProjectStagingsWhereYouAreTheCreatePerson.Any() || Notifications.Any() || OrganizationsWhereYouAreThePrimaryContactPerson.Any() || PerformanceMeasureNotesWhereYouAreTheCreatePerson.Any() || PerformanceMeasureNotesWhereYouAreTheUpdatePerson.Any() || (PersonLoginAccount != null) || PersonSettingGridColumnSettings.Any() || PersonStewardGeospatialAreas.Any() || PersonStewardOrganizations.Any() || PersonStewardTaxonomyBranches.Any() || ProjectsWhereYouAreThePrimaryContactPerson.Any() || ProjectsWhereYouAreTheProposingPerson.Any() || ProjectsWhereYouAreTheReviewedByPerson.Any() || ProjectsWhereYouAreTheSubmittedByPerson.Any() || ProjectContactsWhereYouAreTheContact.Any() || ProjectContactUpdatesWhereYouAreTheContact.Any() || ProjectInternalNotesWhereYouAreTheCreatePerson.Any() || ProjectInternalNotesWhereYouAreTheUpdatePerson.Any() || ProjectLocationStagings.Any() || ProjectLocationStagingUpdates.Any() || ProjectNotesWhereYouAreTheCreatePerson.Any() || ProjectNotesWhereYouAreTheUpdatePerson.Any() || ProjectNoteUpdatesWhereYouAreTheCreatePerson.Any() || ProjectNoteUpdatesWhereYouAreTheUpdatePerson.Any() || ProjectProjectStatusesWhereYouAreTheProjectProjectStatusCreatePerson.Any() || ProjectProjectStatusesWhereYouAreTheProjectProjectStatusLastEditedPerson.Any() || ProjectUpdatesWhereYouAreThePrimaryContactPerson.Any() || ProjectUpdateBatchesWhereYouAreTheLastUpdatePerson.Any() || ProjectUpdateHistoriesWhereYouAreTheUpdatePerson.Any() || ReleaseNotesWhereYouAreTheCreatePerson.Any() || ReleaseNotesWhereYouAreTheUpdatePerson.Any() || SupportRequestLogsWhereYouAreTheRequestPerson.Any() || TechnicalAssistanceRequests.Any() || TechnicalAssistanceRequestUpdates.Any() || TenantAttributesWhereYouAreThePrimaryContactPerson.Any()); }
private List <AuditEntry> OnBeforeSaveChanges(string userId) { ChangeTracker.DetectChanges(); var auditEntries = new List <AuditEntry>(); foreach (var entry in ChangeTracker.Entries()) { if (entry.Entity is Audit || entry.State == EntityState.Detached || entry.State == EntityState.Unchanged) { continue; } var auditEntry = new AuditEntry(entry); auditEntry.TableName = entry.Entity.GetType().Name; auditEntry.UserId = userId; auditEntries.Add(auditEntry); foreach (var property in entry.Properties) { if (property.IsTemporary) { auditEntry.TemporaryProperties.Add(property); continue; } string propertyName = property.Metadata.Name; if (property.Metadata.IsPrimaryKey()) { auditEntry.KeyValues[propertyName] = property.CurrentValue; continue; } switch (entry.State) { case EntityState.Added: auditEntry.AuditType = AuditType.Create; auditEntry.NewValues[propertyName] = property.CurrentValue; break; case EntityState.Deleted: auditEntry.AuditType = AuditType.Delete; auditEntry.OldValues[propertyName] = property.OriginalValue; break; case EntityState.Modified: if (property.IsModified) { auditEntry.ChangedColumns.Add(propertyName); auditEntry.AuditType = AuditType.Update; auditEntry.OldValues[propertyName] = property.OriginalValue; auditEntry.NewValues[propertyName] = property.CurrentValue; } break; } } } foreach (var auditEntry in auditEntries.Where(_ => !_.HasTemporaryProperties)) { AuditLogs.Add(auditEntry.ToAudit()); } return(auditEntries.Where(_ => _.HasTemporaryProperties).ToList()); }
/// <summary> /// Active Dependent type names of this object /// </summary> public List <string> DependentObjectNames() { var dependentObjects = new List <string>(); if (AuditLogs.Any()) { dependentObjects.Add(typeof(AuditLog).Name); } if (DelineationsWhereYouAreTheVerifiedByPerson.Any()) { dependentObjects.Add(typeof(Delineation).Name); } if (DelineationStagingsWhereYouAreTheUploadedByPerson.Any()) { dependentObjects.Add(typeof(DelineationStaging).Name); } if (FieldVisitsWhereYouAreThePerformedByPerson.Any()) { dependentObjects.Add(typeof(FieldVisit).Name); } if (FileResourcesWhereYouAreTheCreatePerson.Any()) { dependentObjects.Add(typeof(FileResource).Name); } if (LandUseBlockStagingsWhereYouAreTheUploadedByPerson.Any()) { dependentObjects.Add(typeof(LandUseBlockStaging).Name); } if (Notifications.Any()) { dependentObjects.Add(typeof(Notification).Name); } if (OnlandVisualTrashAssessmentsWhereYouAreTheCreatedByPerson.Any()) { dependentObjects.Add(typeof(OnlandVisualTrashAssessment).Name); } if (OrganizationsWhereYouAreThePrimaryContactPerson.Any()) { dependentObjects.Add(typeof(Organization).Name); } if (RegionalSubbasinRevisionRequestsWhereYouAreTheClosedByPerson.Any()) { dependentObjects.Add(typeof(RegionalSubbasinRevisionRequest).Name); } if (RegionalSubbasinRevisionRequestsWhereYouAreTheRequestPerson.Any()) { dependentObjects.Add(typeof(RegionalSubbasinRevisionRequest).Name); } if (StormwaterJurisdictionPeople.Any()) { dependentObjects.Add(typeof(StormwaterJurisdictionPerson).Name); } if (SupportRequestLogsWhereYouAreTheRequestPerson.Any()) { dependentObjects.Add(typeof(SupportRequestLog).Name); } if (TrashGeneratingUnitAdjustmentsWhereYouAreTheAdjustedByPerson.Any()) { dependentObjects.Add(typeof(TrashGeneratingUnitAdjustment).Name); } if (TreatmentBMPsWhereYouAreTheInventoryVerifiedByPerson.Any()) { dependentObjects.Add(typeof(TreatmentBMP).Name); } if (WaterQualityManagementPlanVerifiesWhereYouAreTheLastEditedByPerson.Any()) { dependentObjects.Add(typeof(WaterQualityManagementPlanVerify).Name); } return(dependentObjects.Distinct().ToList()); }
public HttpResponseMessage Get(string officeNumber, string report) { try { AccessControl.VerifyUserAccessToOffice(officeNumber); } catch (Exception) { const string ValidationString = "You do not have security permission to access this area.<br/><br/> " + "Please contact your Office Manager or Office Administrator if you believe this is an error."; return(this.Request.CreateResponse(HttpStatusCode.Forbidden, new { validationmessage = ValidationString })); } object vm = null; try { ////Report Auditing ALSL-5986 var auditLog = new AuditLogs(); auditLog.AddAuditLogEntryForReport($"EPM PatientReportsController API Get {report}"); var companyId = OfficeHelper.GetCompanyId(officeNumber); switch (report) { case "PatientWorkInProgress": var dictProducts = new Dictionary <string, string> { { string.Empty, "All" }, { "E", "Eyeglass" }, { "S,H", "Contact Lens" } }; var productTypes = new List <Lookup>(); productTypes.AddRange(dictProducts.Select(entry => new Lookup(entry.Key, entry.Value))); var patientReportsIt2Manager = new PatientReportsIt2Manager(); var orderStatus = patientReportsIt2Manager.GetOrderStatusListForWipReport(); vm = new PatientWorkInProgressVm { OrderStatusList = orderStatus, ProductTypes = productTypes }; break; case "PatientAudit": var dictNoteTypes = new Dictionary <int, string> { { 1, "Profile" }, { 3, "Appointments" }, { 6, "Exams" }, { 8, "Billing" }, { 101, "Audit" }, { 102, "User" }, { 103, "Patient Name Change" } }; var oh = new OfficeHelper(); var employees = oh.GetAllActiveEmployees(companyId); var resource = new List <Lookup>(); resource.AddRange(employees.Select(entry => new Lookup(entry.ID, entry.FullName)).OrderBy(e => e.Description)); var noteTypes = new List <Lookup>(); noteTypes.AddRange(dictNoteTypes.Select(entry => new Lookup(entry.Key, entry.Value))); vm = new PatientAuditVm { Resource = resource, NoteTypes = noteTypes }; break; case "MarketingRecall": var recallIt2Manager = new RecallReportsIt2Manager(); vm = recallIt2Manager.GetAllRecallsByCompany(companyId); break; case "InventoryValuation": ////var dictItems = new Dictionary<string, string> { { "0", "All" }, { "1", "Frames" }, { "2", "Accessories" } }; var dictItems = new Dictionary <string, string> { { "0", "All" }, { "1", "Frames" } }; var itemTypes = new List <Lookup>(); itemTypes.AddRange(dictItems.Select(entry => new Lookup(entry.Key, entry.Value))); vm = new InventoryValuationVm { ItemTypes = itemTypes }; break; case "PatientRemake": var patientReportsIt2Manager2 = new PatientReportsIt2Manager(); vm = new PatientRemakeVm { RemakeReasonList = patientReportsIt2Manager2.GetPatientRemakeReasons(companyId) }; break; default: Logger.Error("Unknown Patient Report Requested (companyId=" + companyId + ", report=" + report + ")"); break; } return(this.Request.CreateResponse(HttpStatusCode.OK, vm)); } catch (Exception ex) { var msg = string.Format("Get(officeNumber = {0}, {1}, {2}", officeNumber, "\n", ex); return(HandleExceptions.LogExceptions(msg, Logger, ex)); } }
public ResponseMessage UpdateRequirement(AddSiteRequirement siteRequirement, int id) { ResponseMessage responseMessage = new ResponseMessage(); try { var siteReq = _context.SiteRequirement.Where(x => x.Id == id && x.IsDelete == false).FirstOrDefault(); if (siteReq != null) { if (_context.SiteRequirement.Where(x => x.Id != id && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Site Requirement Id doesnot exist."); } else { siteReq.FromProjectId = siteRequirement.ProjectId; siteReq.Remarks = siteRequirement.Remarks; siteReq.Remarks = siteRequirement.Remarks; siteReq.Status = siteRequirement.Status; siteReq.StatusInternal = siteRequirement.StatusInternal; siteReq.RoleId = 1; //TODO siteReq.UpdatedBy = 1; //TODO siteReq.UpdatedAt = DateTime.Now; var siteReqStructures = _context.SiteReqStructure.Where(x => x.SiteReqId == siteReq.Id).ToList(); var addedsiteReqStructures = siteRequirement.SiteRequirementStructures.Where(x => !siteReqStructures.Any(p => p.Id == x.Id)).ToList(); var deletedsiteReqStructures = siteReqStructures.Where(x => !siteRequirement.SiteRequirementStructures.Any(p => p.Id == x.Id)).ToList(); var updatedsiteReqStructures = siteRequirement.SiteRequirementStructures.Where(x => siteReqStructures.Any(p => p.Id == x.Id)).ToList(); //add Project site req structure if (addedsiteReqStructures.Any()) { foreach (var item in addedsiteReqStructures) { SiteReqStructure siteReqStructure = new SiteReqStructure(); siteReqStructure.SiteReqId = siteReq.Id; siteReqStructure.StructId = item.StructId; siteReqStructure.PlanStartdate = item.PlanStartdate; siteReqStructure.ActualStartdate = item.RequireByDate; siteReqStructure.PlanReleasedate = item.PlanReleasedate; siteReqStructure.RequireWbsId = item.RequireWbsId; _context.SiteReqStructure.Add(siteReqStructure); } } //delete Project site req structure if (deletedsiteReqStructures.Any()) { foreach (var item in deletedsiteReqStructures) { _context.SiteReqStructure.Remove(item); } } //update Project site req structure if (updatedsiteReqStructures.Any()) { foreach (var item in updatedsiteReqStructures) { SiteReqStructure siteReqStructure = _context.SiteReqStructure.Where(x => x.Id == item.Id).FirstOrDefault(); siteReqStructure.StructId = item.StructId; siteReqStructure.Quantity = item.Quantity; _context.SaveChanges(); } } _context.SaveChanges(); SitereqStatusHistory siteStatusHist = new SitereqStatusHistory(); siteStatusHist.MrNo = siteReq.MrNo; siteStatusHist.RoleId = siteReq.RoleId; siteStatusHist.Status = siteReq.Status; siteStatusHist.StatusInternal = siteReq.StatusInternal; siteStatusHist.UpdatedAt = DateTime.Now; siteStatusHist.UpdatedBy = 1; //TODO _context.SitereqStatusHistory.Add(siteStatusHist); _context.SaveChanges(); AuditLogs audit = new AuditLogs() { Action = "Site Requirement", Message = string.Format("Site Requirement Updated Successfully {0}", siteReq.Id), CreatedAt = DateTime.Now, CreatedBy = 1 //TODO }; _commonRepo.AuditLog(audit); return(responseMessage = new ResponseMessage() { Message = "Site Requirement updated successfully.", }); } } else { throw new ValueNotFoundException("Site Requirement not available."); } } catch (Exception ex) { throw ex; } }
public ResponseMessage UpdateProject(AddProject project, int id) { ResponseMessage responseMessage = new ResponseMessage(); try { var projectDB = _context.Project.Where(x => x.Id == id && x.IsDelete == false).FirstOrDefault(); if (projectDB != null) { if (_context.Project.Where(x => x.Name == project.Name && x.Id != id && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Project Name already exist."); } else { projectDB.Name = project.Name; projectDB.Area = project.Area; projectDB.IcId = project.ICId; projectDB.BuId = project.BUId; projectDB.EdrcCode = project.EDRCCode; projectDB.JobCode = project.JobCode; projectDB.CreatedBy = 1; //TODO projectDB.CreatedAt = DateTime.Now; projectDB.UpdatedBy = 1; //TODO projectDB.UpdatedAt = DateTime.Now; projectDB.IsActive = project.IsActive; var projectLocations = _context.ProjectSitelocation.Where(x => x.ProjectId == project.Id).ToList(); var addedSiteLocations = project.ProjectSiteLocationDetails.Where(x => !projectLocations.Any(p => p.Id == x.Id)).ToList(); var deletedSiteLocations = projectLocations.Where(x => !project.ProjectSiteLocationDetails.Any(p => p.Id == x.Id)).ToList(); var updatedSiteLocations = project.ProjectSiteLocationDetails.Where(x => projectLocations.Any(p => p.Id == x.Id)).ToList(); //add Project site Location if (addedSiteLocations.Any()) { foreach (var item in addedSiteLocations) { ProjectSitelocation projectSitelocation = new ProjectSitelocation(); projectSitelocation.Name = item.Name; projectSitelocation.ProjectId = id; _context.ProjectSitelocation.Add(projectSitelocation); } } //delete Project site Location if (deletedSiteLocations.Any()) { foreach (var item in deletedSiteLocations) { _context.ProjectSitelocation.Remove(item); } } //update Project site Location if (updatedSiteLocations.Any()) { foreach (var item in updatedSiteLocations) { ProjectSitelocation projectSitelocation = _context.ProjectSitelocation.Where(x => x.Id == item.Id).FirstOrDefault(); projectSitelocation.Name = item.Name; } } _context.SaveChanges(); AuditLogs audit = new AuditLogs() { Action = "Project", Message = string.Format("Project Updated Successfully {0}", project.Name), CreatedAt = DateTime.Now, CreatedBy = 1 //TODO }; _commonRepo.AuditLog(audit); return(responseMessage = new ResponseMessage() { Message = "Project updated successfully.", }); } } else { throw new ValueNotFoundException("Project not available."); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Dependent type names of this entity /// </summary> public void DeleteChildren(DatabaseEntities dbContext) { foreach (var x in AuditLogs.ToList()) { x.DeleteFull(dbContext); } foreach (var x in DelineationsWhereYouAreTheVerifiedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in DelineationStagingsWhereYouAreTheUploadedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in FieldVisitsWhereYouAreThePerformedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in FileResourcesWhereYouAreTheCreatePerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in LandUseBlockStagingsWhereYouAreTheUploadedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in Notifications.ToList()) { x.DeleteFull(dbContext); } foreach (var x in OnlandVisualTrashAssessmentsWhereYouAreTheCreatedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in OrganizationsWhereYouAreThePrimaryContactPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in RegionalSubbasinRevisionRequestsWhereYouAreTheClosedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in RegionalSubbasinRevisionRequestsWhereYouAreTheRequestPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in StormwaterJurisdictionPeople.ToList()) { x.DeleteFull(dbContext); } foreach (var x in SupportRequestLogsWhereYouAreTheRequestPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in TrashGeneratingUnitAdjustmentsWhereYouAreTheAdjustedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in TreatmentBMPsWhereYouAreTheInventoryVerifiedByPerson.ToList()) { x.DeleteFull(dbContext); } foreach (var x in WaterQualityManagementPlanVerifiesWhereYouAreTheLastEditedByPerson.ToList()) { x.DeleteFull(dbContext); } }
public void AddAuditLog(AuditLogs log) { db.AuditLogs.Add(log); db.SaveChanges(); }
public void AddAuditLog_ToHistory(AuditLogs log) { db.Database.CommandTimeout = 300; db.InsertAuditLogToHistory(log.LogDate, log.AuditLogShortDesc, log.AuditLogLongDesc); }
public ResponseMessage UpdateVendor(AddVendor vendor, int id) { ResponseMessage responseMessage = new ResponseMessage(); try { var sc = _context.SubContractor.Where(x => x.Id == id && x.IsDelete == false) .Include(s => s.SubContractorServiceType).FirstOrDefault(); if (sc != null) { if (_context.SubContractor.Where(x => x.Name == vendor.Name && x.Id != id && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Vendor Name already exist."); } else { sc.Name = vendor.Name; sc.VendorCode = vendor.VendorCode; sc.IsStatus = vendor.IsStatus; sc.UpdatedBy = 1; //TODO sc.UpdatedAt = DateTime.Now; _context.SaveChanges(); var subcontractorServiceType = sc.SubContractorServiceType; var addedSubConService = vendor.VendorServiceTypeDetails.Where(x => !subcontractorServiceType.Any(s => s.Id == x.Id)).ToList(); var deletedSubConService = subcontractorServiceType.Where(x => !vendor.VendorServiceTypeDetails.Any(s => s.Id == x.Id)).ToList(); var updatedSubConService = vendor.VendorServiceTypeDetails.Where(x => subcontractorServiceType.Any(p => p.Id == x.Id)).ToList(); //add Project site Location if (addedSubConService.Any()) { foreach (var item in addedSubConService) { SubContractorServiceType subConServiceType = new SubContractorServiceType(); subConServiceType.Id = item.Id; subConServiceType.SubcontId = vendor.Id; subConServiceType.ServicetypeId = item.ServiceTypeId; _context.SubContractorServiceType.Add(subConServiceType); } } //delete Project site Location if (deletedSubConService.Any()) { foreach (var item in deletedSubConService) { _context.SubContractorServiceType.Remove(item); } } //update Project site Location if (updatedSubConService.Any()) { foreach (var item in updatedSubConService) { SubContractorServiceType subConServiceType = new SubContractorServiceType(); subConServiceType.SubcontId = id; subConServiceType.ServicetypeId = item.ServiceTypeId; } } _context.SaveChanges(); AuditLogs audit = new AuditLogs() { Action = "Vendor", Message = string.Format("Vendor Updated Succussfully {0}", vendor.Name), CreatedAt = DateTime.Now, CreatedBy = 1 //TODO }; _commonRepo.AuditLog(audit); return(responseMessage = new ResponseMessage() { Message = "Vendor updated successfully.", }); } } else { throw new ValueNotFoundException("Vendor not available."); } } catch (Exception ex) { throw ex; } }