private async Task <Vermittler> CreateVermittler() { var vermittler = new Vermittler { Id = 1, VermittlerNo = "NP-000000", VermittlerRegistrierungsstatus = VermittlerRegistrierungsstatus.NeuerVermittler, BestandsProvisionssatz = 60.0f, AbschlussProvisionssatz = 60.0f, IhkRegistrierungsnummer = "Registrierungsnummer", IstAktiv = true, Bankverbindung = new Bankverbindung { Id = 1, Kontoinhaber = "TestKontoinhaber", IBAN = "DE00000000000000000000", BankName = "Bankname", BIC = "DEUTDEDB123" }, User = new User { Id = 15, KeycloakIdentifier = new Guid("106ee760-3e54-4fc9-a3b5-f6fc7284842f"), EMail = "Vermittler@localhost", Vorname = "Vermittler", Nachname = "Markler", Anrede = Anrede.Herr, Geburtsdatum = new DateTime(1900, 1, 1), Geburtsort = "TestOrt", Staatsangehörigkeit = new Land() { Id = 2, Name = "Testland" }, Adresse = new Adresse() { Straße = "VermittlerStraße", Hausnummer = "1", Plz = "123456", Ort = "Bremen", Land = new Land() { Name = "Deutschland" } } } }; await AddAsync(vermittler); return(vermittler); }
private async Task <EinladecodeVermittler> CreateEinladenderVermittlerAsync() { //Einladender Vermittler HAS to be 1 because of the einladecode var einladenderVermittler = new Vermittler() { Id = 1, VermittlerNo = "NP-000000", VermittlerRegistrierungsstatus = VermittlerRegistrierungsstatus.RegistrierungGenehmigt, BestandsProvisionssatz = 60.0f, AbschlussProvisionssatz = 60.0f, IhkRegistrierungsnummer = "Registrierungsnummer", IstAktiv = true, Bankverbindung = new Bankverbindung { IBAN = "DE00000000000000000000", BankName = "Bankname", BIC = "DEUTDEDB123" }, User = new User { Id = 1, KeycloakIdentifier = new Guid("106ee760-3e54-4fc9-a3b5-f6fc7284842f"), EMail = "Vermittler@localhost", Vorname = "Vermittler", Nachname = "Markler", Anrede = Anrede.Herr, Adresse = new Adresse() { Straße = "VermittlerStraße", Hausnummer = "1", Plz = "123456", Ort = "Bremen", Land = new Land() { Name = "Deutschland" } } }, EinladecodeVermittler = new EinladecodeVermittler() { Id = 5, VermittlerId = 1, Code = "WgAA55grJGAGagrL2k0fsA==" } }; await AddAsync(einladenderVermittler); return(einladenderVermittler.EinladecodeVermittler); }
private async Task EingeladenVonZuweisen(string eingeladenVonCode, Vermittler vermittlerToAdd) { //If the Vermittler was invited by another Vermittler //we search for the code in the DB var eingeladenVonEinladecode = await _insuranceDbContext.EinladecodesVermittler .FirstOrDefaultAsync(ev => ev.Code == eingeladenVonCode); //If the EingeladenVonCode exists in the DB //and it is Valid then we add the Code Id to the Newly created Vermittler if (eingeladenVonEinladecode != null) { if (_einladecodeVermittlerValidation.Validate(eingeladenVonCode)) { vermittlerToAdd.EingeladenVonVermittlerEinladecodeId = eingeladenVonEinladecode.Id; } } }
private async Task <Vermittler> CreateVermittlerMitDokument() { var dokument = new Dokument() { Id = 1, Name = "Persönliche Daten", DokumentenArt = new DokumentArt { Id = 1, Name = "PersönlicheDaten" }, Bearbeitungsstatus = Bearbeitungsstatus.ZuPrüfen, FileExtension = FileExtension.pdf, Data = Convert.FromBase64String("SGVsbG8gV29ybGQ=") }; var dokumentListe = new List <Dokument>() { dokument }; var vermittlerToAdd = new Vermittler { Id = 1, VermittlerNo = "NP-000000", BestandsProvisionssatz = 60, AbschlussProvisionssatz = 60, IhkRegistrierungsnummer = "Registrierungsnummer", VermittlerRegistrierungsstatus = VermittlerRegistrierungsstatus.RegistrierungGenehmigt, User = new User { Id = 1, KeycloakIdentifier = new Guid("106ee760-3e54-4fc9-a3b5-f6fc7284842f"), EMail = "Vermittler@localhost", Vorname = "Vermittler", Nachname = "Markler", Anrede = Anrede.Herr }, RegistrierungsDokumente = dokumentListe }; await AddAsync(vermittlerToAdd); return(vermittlerToAdd); }
private async Task AddVermittlerToGesellschaften(Vermittler vermittlerToAdd) { var gesellschaftenListe = await _insuranceDbContext.GesellschaftSet.ToListAsync(); List <VermittlerGesellschafft> vermittlerGesellschaften = new List <VermittlerGesellschafft>(); foreach (var gesellschaft in gesellschaftenListe) { vermittlerGesellschaften.Add(new VermittlerGesellschafft { VermittlerId = vermittlerToAdd.Id, GesellschaftId = gesellschaft.Id, VermittlerNo = vermittlerToAdd.VermittlerNo, Abschlussvergütung = 0.08, Bestandsvergütung = 0.08, MaxLaufzeitVergütung = 40 }); } await _insuranceDbContext.VermittlerGesellschafften.AddRangeAsync(vermittlerGesellschaften); }
public static CurrentUser RunAsPassedInVermittler(Vermittler vermittler) { var currentUserServiceDescriptor = _services.FirstOrDefault(d => d.ServiceType == typeof(ICurrentUserService)); _services.Remove(currentUserServiceDescriptor); // Define what this service returns var userServiceMock = new Mock <ICurrentUserService>(); userServiceMock.SetupGet(s => s.KeycloakUserId) .Returns(vermittler.User.KeycloakIdentifier.ToString()); userServiceMock.SetupGet(s => s.IstVermittler).Returns(true); userServiceMock.SetupGet(s => s.ApiUserId).Returns(vermittler.User.Id); _currentUser.KeycloakUserGuid = userServiceMock.Object.KeycloakUserId; _currentUser.IstVermittler = userServiceMock.Object.IstVermittler; _services.AddTransient(provider => userServiceMock.Object); _scopeFactory = _services.BuildServiceProvider().GetService <IServiceScopeFactory>(); return(_currentUser); }
private async Task <Vermittler> CreateVermittler() { List <Dokument> dokumentenListe = new List <Dokument>() { new Dokument() { Id = 1, Name = "Name", DokumentenArt = new DokumentArt { Id = 1, Name = "Ausweiskopie" }, Bearbeitungsstatus = Bearbeitungsstatus.Aktzeptiert, FileExtension = FileExtension.jpg, Data = BeispielDokumente.Schufa } }; var vermittler = new Vermittler { Id = 1, VermittlerNo = "NP-000000", VermittlerRegistrierungsstatus = VermittlerRegistrierungsstatus.NeuerVermittler, BestandsProvisionssatz = 60.0f, AbschlussProvisionssatz = 60.0f, IhkRegistrierungsnummer = "Registrierungsnummer", IstAktiv = true, Bankverbindung = new Bankverbindung { Id = 1, Kontoinhaber = "TestKontoinhaber", IBAN = "DE00000000000000000000", BankName = "Bankname", BIC = "DEUTDEDB123" }, User = new User { Id = 1, KeycloakIdentifier = new Guid("106ee760-3e54-4fc9-a3b5-f6fc7284842f"), EMail = "Vermittler@localhost", Vorname = "Vermittler", Nachname = "Markler", Anrede = Anrede.Herr, Geburtsdatum = new DateTime(1900, 1, 1), Geburtsort = "TestOrt", Staatsangehörigkeit = new Land() { Id = 2, Name = "Testland" }, Adresse = new Adresse() { Straße = "VermittlerStraße", Hausnummer = "1", Plz = "123456", Ort = "Bremen", Land = new Land() { Name = "Deutschland" } } }, RegistrierungsDokumente = dokumentenListe, EinladecodeVermittler = new EinladecodeVermittler() { VermittlerId = 1, Code = "WgAA55grJGAGagrL2k0fsA==" } }; await AddAsync(vermittler); return(vermittler); }
/// <summary> /// Set Land in Adresse to Deutschland /// Set Provisionssätze to 60% /// Set Registrierungsstatus to NeuerVermittler /// Validate and Set EingeladenVon /// Create Einladecode for Vermittler /// Create new VermittlerNo /// </summary> /// <param name="command"></param> /// <param name="cancellationToken"></param> /// <returns></returns> private async Task <int> RegisterNewVermittler(RegisterOrUpdateVermittlerCommand command, CancellationToken cancellationToken) { var vermittlerToAdd = new Vermittler { BestandsProvisionssatz = 60.0f, AbschlussProvisionssatz = 60.0f, IhkRegistrierungsnummer = command.IhkRegistrierungsnummer, IstAktiv = false, VermittlerRegistrierungsstatus = VermittlerRegistrierungsstatus.NeuerVermittler, User = new User { KeycloakIdentifier = new Guid(_currentUserService.KeycloakUserId), EMail = _currentUserService.Email, Vorname = command.Vorname, Nachname = command.Nachname, Telefon = command.Telefon, Geburtsdatum = command.Geburtsdatum, Geburtsort = command.Geburtsort, StaatsangehörigkeitId = command.StaatsangehörigkeitId, Anrede = EnumExtensions.ParseEnumFromString <Anrede>(command.Anrede), Adresse = new Adresse { Straße = command.Straße, Hausnummer = command.Hausnummer, Plz = command.Plz, Ort = command.Ort, Land = await _insuranceDbContext.Länder.FirstAsync(l => l.Name == "Deutschland") } }, Bankverbindung = new Bankverbindung { Kontoinhaber = command.Kontoinhaber, IBAN = command.Iban, BankName = command.Bankname, BIC = command.Bic } }; //START - EINGELADEN VON LOGIK if (!string.IsNullOrEmpty(command.EingeladenVonEinladeCode)) { await EingeladenVonZuweisen(command.EingeladenVonEinladeCode, vermittlerToAdd); } //END //START - Add VermittlerNo vermittlerToAdd.VermittlerNo = await _vermittlerNoGenerator.GenerateVermittlerNoAsync(); //END await _insuranceDbContext.Vermittler.AddAsync(vermittlerToAdd, cancellationToken); await _insuranceDbContext.SaveChangesAsync(cancellationToken); //For the vermittlerToAdd we need to Automatically generate a Einladungscode vermittlerToAdd.EinladecodeVermittler = new EinladecodeVermittler { VermittlerId = vermittlerToAdd.Id, Code = _iAesCryptographyService.EncryptString(vermittlerToAdd.Id.ToString()) }; //Add Vermittler to all Existing Gesellschaften await AddVermittlerToGesellschaften(vermittlerToAdd); await _insuranceDbContext.SaveChangesAsync(cancellationToken); return(vermittlerToAdd.Id); }