public void Init() { _fakeApi = Substitute.For <ITCApi>(); _installations = new List <Installation> { new Installation() { Id = 1, Name = "First", Position = new Position() { Id = 1, Latitude = 10.1, Longtitude = 50.2 }, Status = 0 }, new Installation() { Id = 2, Name = "Second", Position = new Position() { Id = 2, Latitude = 20.1, Longtitude = 60.2 }, Status = 1 }, new Installation() { Id = 3, Name = "Third", Position = new Position() { Id = 3, Latitude = 30.1, Longtitude = 70.2 }, Status = 2 } }; _fakeApi.GetInstallations().Returns(_installations); _uut = new CreateCaseModel(_fakeApi); }
public async Task <Case> CreateCaseAsync( CreateCaseModel createCaseModel, [ScopedService] DataContext dataContext, [Service] ITopicEventSender topicEventSender) { var representativeEntity = Representative.Create(createCaseModel.Representative.FullName); var clientEntity = Client.Create(createCaseModel.Client.FullName); var caseEntity = Case.Create( createCaseModel.Reference, createCaseModel.Description, representativeEntity, clientEntity ); var addedEntity = await dataContext.Case.AddAsync(caseEntity); await dataContext.SaveChangesAsync(); var persistedCase = addedEntity.Entity; await topicEventSender.SendAsync(nameof(CaseSubscription.CaseCreatedSubscription), persistedCase); return(persistedCase); }
public async Task <IActionResult> CreateCasesAsync([FromBody] CreateCaseModel caseTemplate) { await _service.CreateAsync(_mapper.Map <Case>(caseTemplate)); return(Ok()); }
public void OpprettCaseOgSendEpost(string epost, string caseNavn, string dokumentNavn, string signeringsmetode) { string[] Invitasjonsemails; if (!(epost == null)) { Invitasjonsemails = epost.Split(','); } else { return; } //En CreateCaseModel skal bestå av et dokument, en eller flere brukere og annen info CreateCaseModel model = new CreateCaseModel(); List <CaseEvent> events = new List <CaseEvent>(); events.Add(CaseEvent.SignatureAdded); //Påkrevd model.Id = Guid.NewGuid(); model.SendSignRequestEmailToParties = true; model.SendFinishEmailToParties = true; model.SendFinishEmailToCreator = true; model.Name = caseNavn; model.NameAlias = "Alias"; model.EventCallback = new CaseEventSubscription { Events = events, Url = "http://158.36.13.131:52817/DBController/WriteNewSignature" }; //Kan gi valg mellom eID signatur eller signbyhand (på mobil). Påkrevd if (signeringsmetode == "electronicid") { model.AllowedSignatureTypes.Add(SignatureType.ElectronicId); } else { model.AllowedSignatureTypes.Add(SignatureType.Touch); } //PartyModel er en samling brukere. Påkrevd. //Skal flere brukere signere ett dokument, må denne kodebiten gjentas. for (var i = 0; i < Invitasjonsemails.Length - 1; i++) { model.Parties.Add(new PartyModel { Name = "Undertegnede", EmailAddress = Invitasjonsemails[i] }); } //En eller flere dokumenter angis til en Liste med dokumenter model.Documents.Add("./Persistence/Dokumenter/" + dokumentNavn); model.Metadata.Add("nøkkel", "verdi"); using (var fileStream = new FileStream("./Persistence/guid.txt", FileMode.Create)) { byte[] data = model.Id.ToByteArray(); fileStream.Write(data, 0, data.Length); } string oppretterEmail = User.Claims.Where(c => c.Type == "name").FirstOrDefault().Value; //CreateCaseModel objektet sendes til Assently client.CreateCase(model); //Her blir brukerene evt tilsendt en epost med signaturlink //Evt kan også SMS benyttes client.SendCase(model.Id); //Oppdater antallsignatur teller Auth0 OppdaterAntallOppdragTeller(); DBController.DokumentTilDatabase(model.Id, dokumentNavn, Invitasjonsemails.Length, caseNavn, oppretterEmail); DBController.KundeTilDatabase(Invitasjonsemails); }