public async Task Handle(RequestToConfirmUserAccountLoandEvent @event) { using (LogContext.PushProperty("IntegrationEventContext", $"{@event.Id}-{Program.ProgramName}")) { _logger.LogInformation("----- Handling integration event: {IntegrationEventId} at {AppName} - ({@IntegrationEvent})", @event.Id, Program.ProgramName, @event); // find the user in the database var user = this._userContext.Users.Where(X => X.Id.Equals(@event.UserId)).FirstOrDefault(); if (user != default || user != null) { // check the salary and expensive if (user.MonthlySalary - user.MonthlyExpenses < 1000) { var rejectIntegrationEvent = new RejectAccountLoanForUserEvent(@event.UserId, @event.Loan); rejectIntegrationEvent.EventIdSynchronizationId = @event.EventIdSynchronizationId; await this._userIntegrationEventService.SaveEventAndUserContextChangesAsync(rejectIntegrationEvent); await this._userIntegrationEventService.PublishThroughEventBusAsync(rejectIntegrationEvent); } else { var confirmedIntegratonEvent = new ConfirmUserAccountForLoanIntegrationEvent(@event.UserId, @event.Loan, @event.AccountType); confirmedIntegratonEvent.EventIdSynchronizationId = @event.EventIdSynchronizationId; await this._userIntegrationEventService.SaveEventAndUserContextChangesAsync(confirmedIntegratonEvent); await this._userIntegrationEventService.PublishThroughEventBusAsync(confirmedIntegratonEvent); } } else { var usernotfoundEvent = new UserNotFoundEvent(@event.UserId, @event.Loan); usernotfoundEvent.EventIdSynchronizationId = @event.EventIdSynchronizationId; await this._userIntegrationEventService.SaveEventAndUserContextChangesAsync(usernotfoundEvent); await this._userIntegrationEventService.PublishThroughEventBusAsync(usernotfoundEvent); } } }
public void OnDataChange(DataSnapshot snapshot) { if (snapshot.Exists()) { DriverPersonal = new Driver { Fname = (snapshot.Child("fname") != null) ? snapshot.Child("fname").Value.ToString() : "", Lname = (snapshot.Child("lname") != null) ? snapshot.Child("lname").Value.ToString() : "", Email = (snapshot.Child("email") != null) ? snapshot.Child("email").Value.ToString() : "", Phone = (snapshot.Child("phone") != null) ? snapshot.Child("phone").Value.ToString() : "", City = (snapshot.Child("city") != null) ? snapshot.Child("city").Value.ToString() : "", Code = (snapshot.Child("invitecode") != null) ? snapshot.Child("invitecode").Value.ToString() : "", ImgUrl = (snapshot.Child("profile_img_url") != null) ? snapshot.Child("profile_img_url").Value.ToString() : "", }; SaveToSharedPreference(); UserFoundEvent?.Invoke(this, new EventArgs()); } else { UserNotFoundEvent?.Invoke(this, new EventArgs()); } }
public async Task TryLoginAsync(UserNotFoundReceipt e) { using (APPDbContext db = new APPDbContext()) { bool b_UserVertifyEvent = false; bool b_UserPwdVertifyFailEvent = false; bool b_UserNotFoundEvent = false; await Task.Run(() => { string pwd_hash_aes = AssetsController.EncryptwithAppaesobj(PWD_hash); var iuserlist = from t in db.Users.ToList() where t.pid == PID select t; var userlist = iuserlist.ToList(); if (userlist.Count == 0) { switch (e) { case UserNotFoundReceipt.Create: User dbuser = new User() { pid = PID, pwd = pwd_hash_aes }; db.Entry(dbuser).State = Microsoft.EntityFrameworkCore.EntityState.Added; db.SaveChanges(); break; case UserNotFoundReceipt.None: b_UserNotFoundEvent = true; return; } } else { var vertifyuser = userlist[0]; if (vertifyuser.pid != this.PID || vertifyuser.pwd != pwd_hash_aes) { b_UserPwdVertifyFailEvent = true; } } int uid = (from t in db.Users.ToList() where PID == t.pid && pwd_hash_aes == t.pwd select t).ToList().ElementAt(0).ID; var rlist = (from t in db.Recordings.ToList() where t.uid == uid select t).ToList(); Core.Current.Regist(new CurrentUser(rlist, PID, PWD_hash, uid)); b_UserVertifyEvent = true; }); if (b_UserPwdVertifyFailEvent) { UserPwdVertifyFailEvent?.Invoke(this); } if (b_UserVertifyEvent) { UserVertifyEvent?.Invoke(this); } if (b_UserNotFoundEvent) { UserNotFoundEvent?.Invoke(this); } } }