/// <summary> /// Creates a new instance of <see cref="ReportAnalyzer" />. /// </summary> /// <param name="hashCodeGenerator">Used to identify is this is a new unique exception</param> /// <param name="messageBus">to publish the <see cref="ReportAddedToIncident" /> event</param> /// <param name="repository">repos</param> public ReportAnalyzer(HashCodeGenerator hashCodeGenerator, IMessageBus messageBus, IAnalyticsRepository repository) { _hashCodeGenerator = hashCodeGenerator; _messageBus = messageBus; _repository = repository; }
public async Task <IActionResult> Register(Register model) { if (ModelState.IsValid) { User user = await _context.Users.FirstOrDefaultAsync(u => u.Login == model.Email); if (user == null) { // добавляем пользователя в бд user = new User { Login = model.Email, Password = HashCodeGenerator.GetHash(model.Password) }; Role userRole = await _context.Roles.FirstOrDefaultAsync(r => r.Name == "user"); if (userRole != null) { user.Role = userRole; } _context.Users.Add(user); await _context.SaveChangesAsync(); //await Authenticate(user); // аутентификация return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Некорректные логин и(или) пароль"); } } return(View(model)); }
/// <summary> /// Creates a new instance of <see cref="IncidentBeingAnalyzed" />. /// </summary> /// <param name="entity">entity</param> /// <param name="exception">exception to analyze</param> /// <exception cref="ArgumentNullException">entity; exception</exception> /// <exception cref="ArgumentException">entity.hashcode is null</exception> public IncidentBeingAnalyzed(ErrorReportEntity entity, ErrorReportException exception) { if (entity == null) { throw new ArgumentNullException("entity"); } if (exception == null) { throw new ArgumentNullException("exception"); } if (string.IsNullOrEmpty(entity.ReportHashCode)) { throw new ArgumentException("ReportHashCode must be specified to be able to identify duplicates."); } Description = exception.Message; FullName = exception.FullName; StackTrace = HashCodeGenerator.CleanStackTrace(exception.StackTrace); AddReport(entity); ReportHashCode = entity.ReportHashCode; HashCodeIdentifier = entity.GenerateHashCodeIdentifier(); ApplicationId = entity.ApplicationId; UpdatedAtUtc = entity.CreatedAtUtc; CreatedAtUtc = entity.CreatedAtUtc; }
public override int GetHashCode() { if (_hashCode == null) { _hashCode = HashCodeGenerator.Calculate(this.OpenOrderId.GetHashCode(), this.CloseOrderId.GetHashCode()); } return(_hashCode.Value); }
public override int GetHashCode() { if (hashCode == null) { hashCode = HashCodeGenerator.Calculate(this.QuotePolicyId.GetHashCode(), this.InstrumentId.GetHashCode()); } return(hashCode.Value); }
public override int GetHashCode() { if (_hashValue == null) { _hashValue = HashCodeGenerator.Calculate(this.AccountId.GetHashCode(), this.InstrumentId.GetHashCode()); } return(_hashValue.Value); }
public void Should_remove_AT_from_stacktrace_to_avoid_multi_language_issues() { var exceptionWithAt = new ErrorReportException() { StackTrace = @"at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite, String methodName) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Coderr.Server.Infrastructure.Configuration.Database.DatabaseStore.Store(IConfigurationSection section) at Coderr.Server.Premise.App.LicenseWrapper.IncreaseReportCount() at Coderr.Server.Web.Controllers.ReportReceiverController.PremiseLicenseCheck() at Coderr.Server.Web.Controllers.ReportReceiverController.Post(String appKey, String sig) at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at System.Threading.Tasks.ValueTask`1.get_Result() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync():55 at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync() at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextExceptionFilterAsync():33" }; var entityWithAt = new ErrorReportEntity(1, "flldfd", DateTime.UtcNow, exceptionWithAt, new ErrorReportContextCollection[0]); var exceptionWithoutAt = new ErrorReportException() { StackTrace = @"System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite, String methodName) System.Data.SqlClient.SqlCommand.ExecuteNonQuery() Coderr.Server.Infrastructure.Configuration.Database.DatabaseStore.Store(IConfigurationSection section) Coderr.Server.Premise.App.LicenseWrapper.IncreaseReportCount() Coderr.Server.Web.Controllers.ReportReceiverController.PremiseLicenseCheck() Coderr.Server.Web.Controllers.ReportReceiverController.Post(String appKey, String sig) Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) System.Threading.Tasks.ValueTask`1.get_Result() Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync():55 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync() Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context) Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync() Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextExceptionFilterAsync():33" }; var entityWithoutAt = new ErrorReportEntity(1, "flldfd", DateTime.UtcNow, exceptionWithoutAt, new ErrorReportContextCollection[0]); var sut = new HashCodeGenerator(new IHashCodeSubGenerator[0]); var result1 = sut.GenerateHashCode(entityWithAt); var result2 = sut.GenerateHashCode(entityWithAt); result1.HashCode.Should().Be(result2.HashCode); }
private void Mark <TEntity>(TEntity entity, IDictionary <int, object> dic) where TEntity : class { Requires.NotNull(entity, "entity"); Requires.NotNull(dic, "dic"); var key = HashCodeGenerator.ComposeHashCode(entity.GetType(), entity.ExtractId(_idPropertyName)); if (!dic.ContainsKey(key)) { dic.Add(key, entity); } }
public void should_match_line_numbers_and_without_line_numbers_to_reduce_the_number_of_incidents() { var ex1 = new ErrorReportException { StackTrace = @"at System.Web.Compilation.AssemblyBuilder.Compile():line 64 at System.Web.Compilation.BuildProvidersCompiler.PerformBuild():line 65 at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath):line 67" }; var ex2 = new ErrorReportException { StackTrace = @"at System.Web.Compilation.AssemblyBuilder.Compile() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)" }; var report1 = new ErrorReportEntity(1, "fjkkfjjkf", DateTime.UtcNow, ex1, new List <ErrorReportContextCollection>()); var report2 = new ErrorReportEntity(1, "fjkkfjjkf", DateTime.UtcNow, ex2, new List <ErrorReportContextCollection>()); var sut = new HashCodeGenerator(new IHashCodeSubGenerator[0]); var actual1 = sut.GenerateHashCode(report1); var actual2 = sut.GenerateHashCode(report2); actual1.Should().Be(actual2); }
public void should_strip_line_numbers_to_reduce_the_number_of_incidents() { var locator = Substitute.For <IServiceLocator>(); var ex1 = new ErrorReportException { StackTrace = @" at System.Web.Compilation.AssemblyBuilder.Compile():line 64 at System.Web.Compilation.BuildProvidersCompiler.PerformBuild():line 65 at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath):line 67" }; var ex2 = new ErrorReportException { StackTrace = @" at System.Web.Compilation.AssemblyBuilder.Compile():line 12 at System.Web.Compilation.BuildProvidersCompiler.PerformBuild():line 23 at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath):line 53" }; var report1 = new ErrorReportEntity(1, "fjkkfjjkf", DateTime.UtcNow, ex1, new List <ErrorReportContext>()); var report2 = new ErrorReportEntity(1, "fjkkfjjkf", DateTime.UtcNow, ex2, new List <ErrorReportContext>()); var sut = new HashCodeGenerator(locator); var actual1 = sut.GenerateHashCode(report1); var actual2 = sut.GenerateHashCode(report2); actual1.Should().Be(actual2); }
public override int GetHashCode() => HashCodeGenerator.Of(MealName).And(Price);
public void SetUp() { generator = HashCodeGenerator.Initialise(); }
/// <summary> /// Creates a new instance of <see cref="ReportAnalyzer" />. /// </summary> /// <param name="hashCodeGenerator">Used to identify is this is a new unique exception</param> /// <param name="eventBus">to publish the <see cref="ReportAddedToIncident" /> event</param> /// <param name="repository">repos</param> public ReportAnalyzer(HashCodeGenerator hashCodeGenerator, IEventBus eventBus, IAnalyticsRepository repository) { _hashCodeGenerator = hashCodeGenerator; _eventBus = eventBus; _repository = repository; }
public async Task <IActionResult> Login(Login model) { if (ModelState.IsValid) { User user = await _context.Users .Include(u => u.Role) .FirstOrDefaultAsync(u => u.Login == model.Email && u.Password == HashCodeGenerator.GetHash(model.Password)); if (user != null) { await Authenticate(user); // аутентификация return(RedirectToAction("Index", "Home")); } ModelState.AddModelError("", "Некорректные логин и(или) пароль"); } return(View(model)); }
public override int GetHashCode() { return(HashCodeGenerator.Calculate(this.Buy.GetHashCode(), this.Sell.GetHashCode())); }
public override int GetHashCode() => HashCodeGenerator.Of(MemberShip).And(DateOrder).And(MemberShip);
public override int GetHashCode() { return(HashCodeGenerator.Calculate(_sourceCurrencyId.GetHashCode(), _targetCurrencyId.GetHashCode())); }
public static string GetMD5(this string input) { return(HashCodeGenerator.MD5(input)); }
public override int GetHashCode() { return(HashCodeGenerator.Calculate(_buyLot.GetHashCode(), _sellLot.GetHashCode())); }
public override int GetHashCode() => HashCodeGenerator.Of(Login).And(Password).And(Email);
public override int GetHashCode() { return(HashCodeGenerator.Calculate(_boPolicyId.GetHashCode(), _boBetTypeId.GetHashCode(), _frequence.GetHashCode())); }
/// <summary> /// Override of <see cref="object.GetHashCode"/> method for <see cref="SQLQuery"/>. /// </summary> /// <returns><see cref="int"/> HashCode</returns> public override int GetHashCode() { return(HashCodeGenerator.StartHash().Hash(SQL).Hash(DbTableName).Hash(TObjects).Hash(CommandType).Hash(IsBulk).Hash(BatchSize)); }
public void HashCodeGenerator_Returns_0_For_Null(object TObject, int hashCode) { Assert.Equal(HashCodeGenerator.StartHash().Hash(TObject), hashCode); }