public async Task <IActionResult> Post(string id, [FromBody] FA4 value) { var role = await base.GetRoleInGroup(value.ExpertGroup); try { if (role.Skriver) { await StoreAssessment(int.Parse(id), value, role.User, false); } else { throw new Exception("IKKE SKRIVETILGANG TIL DENNE VURDERINGEN"); } } catch (Exception e) { return(Unauthorized(e.Message)); } await this.SendMessage("assessment", "save"); return(Ok()); }
public void FA4b() { Question.GetComponent <Text>().text += "\n\nФин: " + FA4.GetComponentInChildren <Text>().text; Question.GetComponent <Text>().text += "\n\nИзвини, но в этот раз ты не прав. Ты смог дать мне верный ответ в первый раз, за это я дам тебе " + "одну подсказку: тебе туда, о чём была первая загадка. А вот что тебя там ждёт - ты не узнаешь."; TA2.gameObject.SetActive(false); FA3.gameObject.SetActive(false); FA4.gameObject.SetActive(false); EA3.gameObject.SetActive(true); EA3.GetComponentInChildren <Text>().text = "Благодарю тебя и за это."; }
public void TA1b() { Question.GetComponent <Text>().text += "\n\nФин: " + TA1.GetComponentInChildren <Text>().text; Question.GetComponent <Text>().text += "\n\nХорошо, ты молодец. Теперь настало время для второй загадки: зимой и летом одним цветом." + " Подумай внимательно."; TA1.gameObject.SetActive(false); FA1.gameObject.SetActive(false); FA2.gameObject.SetActive(false); TA2.gameObject.SetActive(true); FA3.gameObject.SetActive(true); FA4.gameObject.SetActive(true); TA2.GetComponentInChildren <Text>().text = "Ну, это может быть зомби."; FA3.GetComponentInChildren <Text>().text = "Какие то детские у тебя загадки, старик. Все знают, что это ёлка!"; FA4.GetComponentInChildren <Text>().text = "Деньги."; }
//private async Task StoreAssessment(int id, FA4 doc, User user, bool notUpdateChangedBy, bool forceStore = false) //{ // //var dateTimeFormat = "yyyy-MM-dd HH:mm:ss"; // var now = DateTime.Now; // doc.LastUpdatedAt = now; // var assessment = _dbContext.Assessments.SingleOrDefault(x => x.Id == id); // if (!forceStore && (assessment.LockedForEditBy != null && assessment.LockedForEditBy != user.Brukernavn)) // { // throw new Exception("IKKE SKRIVETILGANG TIL DENNE VURDERINGEN - Låst av annen bruker"); // } // // check and update referenceUsages // var usedReferences = doc.References.Select(x => x.ReferenceId).ToArray(); // if (!forceStore && usedReferences.Any()) // { // bool ok = await _referenceService.SignalUsage(usedReferences, user.Id); // } // var curAss = JsonConvert.DeserializeObject<FA4>(assessment.Doc); // byte[] zipfile; // var fileName = "ArtskartData.zip"; // const string name = "Datagrunnlag fra Artskart"; // const string filetype = "application/zip"; // if (!forceStore && doc.ArtskartSistOverført != curAss.ArtskartSistOverført) // { // try // { // zipfile = await TaskHelper.TimeoutAfter(GetZipDataFromArtskart(doc), TimeSpan.FromSeconds(10)); // } // catch // { // // ok here // zipfile = Array.Empty<byte>(); // } // if (zipfile.Length > 0) // { // var attach = await _dbContext.Attachments.Where(x => // x.AssessmentId == assessment.Id && x.Name == name && x.Type == filetype && // x.FileName == fileName).FirstOrDefaultAsync(); // if (attach != null) // { // attach.File = zipfile; // attach.IsDeleted = false; // attach.Date = DateTime.Now; // attach.UserId = user.Id; // } // else // { // attach = new Attachment // { // AssessmentId = assessment.Id, // Date = DateTime.Now, // File = zipfile, // FileName = fileName, // Name = name, // Type = filetype, // UserId = user.Id // }; // _dbContext.Attachments.Add(attach); // } // } // } // var history = new AssessmentHistory() // { // Id = assessment.Id, // Doc = assessment.Doc, // HistoryAt = now // }; // _dbContext.AssessmentHistories.Add(history); // if (!notUpdateChangedBy) // { // doc.EvaluationStatus = "inprogress"; // doc.LastUpdatedOn = now; // doc.LastUpdatedBy = user.Brukernavn; // } // var assessmentString = Newtonsoft.Json.JsonConvert.SerializeObject(doc); // assessment.Doc = assessmentString; // await _dbContext.SaveChangesAsync().ConfigureAwait(false); //} //private static async Task<byte[]> GetZipDataFromArtskart(FA4 rlRodliste2019) //{ // // hent datasett fra artskart // var date = DateTime.Parse(rlRodliste2019.ArtskartSistOverført); // var kriterier = rlRodliste2019.ArtskartModel; // var apibase = // "https://artskart.artsdatabanken.no/PublicApi/api/listhelper/"; // var type = // kriterier.IncludeObjects == kriterier.IncludeObservations // ? "all" // : kriterier.IncludeObjects // ? "specimen" // : "observations"; // var region = // kriterier.IncludeNorge == kriterier.IncludeSvalbard // ? "all" // : kriterier.IncludeNorge // ? "fastland" // : "svalbard"; // var excludeGbif = // kriterier.ExcludeGbif ? "&sourcedatabases[]=-40,-211" : ""; // var queryparams = // $"&fromYear={kriterier.ObservationFromYear}&toYear={kriterier.ObservationToYear}&fromMonth={kriterier.FromMonth}&toMonth={kriterier.ToMonth}&type={type}®ion={region}{excludeGbif}"; // queryparams += $"&scientificNameId={rlRodliste2019.VurdertVitenskapeligNavnId}"; // if (!string.IsNullOrWhiteSpace(rlRodliste2019.ArtskartSelectionGeometry)) // { // queryparams += $"&geojsonPolygon="; // dynamic json = JsonConvert.DeserializeObject(rlRodliste2019.ArtskartSelectionGeometry); // dynamic coordinates = json.geometry.coordinates; // dynamic items = coordinates[0]; // foreach (dynamic item in items) // { // foreach (dynamic o in item) // { // string s = o.ToString(); // queryparams += s.Replace(",", ".") + ","; // } // } // queryparams = queryparams.Substring(0, queryparams.Length - 1); // } // if (!string.IsNullOrWhiteSpace(rlRodliste2019.ArtskartAdded)) // { // queryparams += $"&addPoints={rlRodliste2019.ArtskartAdded}"; // } // if (!string.IsNullOrWhiteSpace(rlRodliste2019.ArtskartRemoved)) // { // queryparams += $"&removePoints={rlRodliste2019.ArtskartRemoved}"; // } // var urlen = apibase + rlRodliste2019.TaxonId + "/downloadObservations/?" + queryparams; // using var client = new HttpClient(); // var zipfile = await client.GetByteArrayAsync(urlen); // return zipfile ; //} private static FA4 CreateNewAssessment(string expertgroup, string userName, int scientificNameId) { if (string.IsNullOrWhiteSpace(expertgroup)) { throw new ArgumentNullException(nameof(expertgroup)); } if (string.IsNullOrWhiteSpace(userName)) { throw new ArgumentNullException(nameof(userName)); } var vurderingscontext = expertgroup.Contains("Svalbard") ? "S" : "N"; var vurderingsår = 2021; var createdby = "createdbyloading"; var ts = new Prod.Api.Services.TaxonService(); var titask = ts.GetTaxonInfoAsync(scientificNameId); var ti = titask.GetAwaiter().GetResult(); var(hierarcy, rank) = TaxonService.GetFullPathScientificName(ti); if (scientificNameId != ti.ValidScientificNameId) { throw new ArgumentException("supplied scientificNameId is not ValidScientificNameId"); } var rl = new FA4(); //rl.Ekspertgruppe = expertgroup; //rl.VurderingsContext = vurderingscontext; //rl.Slettet = false; //rl.LastUpdatedOn = DateTime.Now; //rl.LastUpdatedBy = userName; //rl.Vurderingsår = vurderingsår; //rl.SistVurdertAr = vurderingsår; //rl.EvaluationStatus = createdby; //rl.OverordnetKlassifiseringGruppeKode = "rodlisteVurdertArt"; //rl.RodlisteVurdertArt = "etablertBestandINorge"; //rl.VurdertVitenskapeligNavn = ti.ValidScientificName; //rl.VurdertVitenskapeligNavnId = ti.ValidScientificNameId; //rl.VurdertVitenskapeligNavnAutor = ti.ValidScientificNameAuthorship; //rl.VurdertVitenskapeligNavnHierarki = hierarcy; //rl.TaxonId = ti.TaxonId; //rl.TaxonRank = rank; //rl.PopularName = ti.PrefferedPopularname; ////ekstra standardverdier //rl.ImportInfo.VurderingsId2015 = string.Empty; //rl.AndelNåværendeBestand = "-"; //rl.A1OpphørtOgReversibel = "-"; //rl.A2Forutgående10År = "-"; //rl.A3Kommende10År = "-"; //rl.A4Intervall10År = "-"; //rl.BA2FåLokaliteterProdukt = ""; //rl.B1BeregnetAreal = ""; //rl.B1UtbredelsesområdeKode = "-"; //rl.B2ForekomstarealKode = "-"; //rl.BA1KraftigFragmenteringKode = "-"; //rl.BA2FåLokaliteterKode = "-"; //rl.CVurdertpopulasjonsstørrelseProdukt = ""; //rl.C1PågåendePopulasjonsreduksjonKode = "-"; //rl.C2A1PågåendePopulasjonsreduksjonKode = "-"; //rl.D1FåReproduserendeIndividKode = "-"; //rl.D2MegetBegrensetForekomstarealKode = "-"; //rl.EKvantitativUtryddingsmodellKode = "-"; ////gudene vet om disse har betydning: //rl.WktPolygon = ""; //rl.SistVurdertAr = 2021; //rl.C2A2PågåendePopulasjonsreduksjonKode = "-"; //rl.C2BPågåendePopulasjonsreduksjonKode = "-"; //rl.CPopulasjonsstørrelseKode = "-"; //rl.B2ForekomstarealProdukt = ""; //rl.B1UtbredelsesområdeProdukt = ""; //rl.OppsummeringAKriterier = ""; //rl.OppsummeringBKriterier = ""; //rl.OppsummeringCKriterier = ""; //rl.OppsummeringDKriterier = ""; //rl.OppsummeringEKriterier = ""; //rl.B2BeregnetAreal = ""; //if (rl.Ekspertgruppe == "Leddormer") // special case - ville ha LC som standard //{ // rl.C2A2SannhetsverdiKode = "1"; // rl.OverordnetKlassifiseringGruppeKode = "sikkerBestandLC"; // rl.Kategori = "LC"; //} //AddFylkeslister(rl); //rl.NaturtypeHovedenhet = new List<string>(); //SetArtskartImportSettings(rl); return(rl); }
private async Task StoreAssessment(int id, FA4 doc, User user, bool notUpdateChangedBy, bool forceStore = false) { //todo: implement. see below }