コード例 #1
0
        public async Task <IResult> Add(SpeciesDto dto)
        {
            var postData = JsonConvert.SerializeObject(dto);

            var content = new StringContent(postData, Encoding.UTF8, ContentTypes.JSON);

            var token = _httpContextAccessor.HttpContext.Session.GetString("token");

            if (string.IsNullOrEmpty(token))
            {
                return(new Result(false, System.Net.HttpStatusCode.BadRequest));
            }

            _httpClient.AddJwtTokenToHeader(token);

            var response = await _httpClient.PostAsync("admin/species", content);

            if (response.IsSuccessStatusCode)
            {
                return(new Result());
            }
            else
            {
                return(new Result(false, System.Net.HttpStatusCode.BadRequest));
            }
        }
コード例 #2
0
        public async Task <IResult> Update(SpeciesDto dto)
        {
            if (dto.GenusId <= 0)
            {
                return(new ErrorResult());
            }

            var postData = JsonConvert.SerializeObject(dto);

            var content = new StringContent(postData, Encoding.UTF8, ContentTypes.JSON);

            var token = _httpContextAccessor.HttpContext.Session.GetString("token");

            if (string.IsNullOrEmpty(token))
            {
                return(new ErrorResult("Unauthorized."));
            }


            _httpClient.AddJwtTokenToHeader(token);

            var response = await _httpClient.PutAsync("admin/species", content);

            if (response.IsSuccessStatusCode)
            {
                return(new Result());
            }
            else
            {
                return(new ErrorResult(await response.Content.ReadAsStringAsync()));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Add()
        {
            var dto = new SpeciesDto();

            GenerateViewbags(dto);

            return(View("AddOrUpdate", dto));
        }
コード例 #4
0
        public SpeciesDto Create(SpeciesDto value)
        {
            var result = _repo.Species.FindOneOrCreate <Species>(
                (sp) => { return(sp.Genus.Equals(value.Genus) && sp.Name.Equals(value.Name)); },
                _mapper.Map <Species>(value)
                );

            var mappedResult = _mapper.Map <SpeciesDto>(value);

            return(mappedResult);
        }
コード例 #5
0
        public async Task <ActionResult <Species> > Create(SpeciesDto species)
        {
            var newSpecies = new Species
            {
                Name      = species.Name,
                CatchRate = species.CatchRate
            };
            var result = await _speciesService.Create(newSpecies);

            return(CreatedAtRoute("GetSpecies", new { id = result.ID }, newSpecies));
        }
コード例 #6
0
        public async Task <ActionResult <Species> > Update(string id, SpeciesDto species)
        {
            var newSpecies = new Species
            {
                ID        = id,
                Name      = species.Name,
                CatchRate = species.CatchRate
            };
            await _speciesService.Update(id, newSpecies);

            return(newSpecies);
        }
コード例 #7
0
        public async Task <IActionResult> Update(SpeciesDto dto)
        {
            var result = await _speciesService.Update(dto);

            if (result.Success)
            {
                Alert("Güncelleme işlemi başarılı.");
                return(RedirectToAction("Update", dto.GenusId));
            }
            else
            {
                ErrorAlert("Güncelleme işlemi başarısız.: " + result.Message);
                GenerateViewbags(dto);
                return(View("AddOrUpdate", dto));
            }
        }
コード例 #8
0
        public async Task <IActionResult> Add(SpeciesDto dto)
        {
            var result = await _speciesService.Add(dto);

            if (result.Success)
            {
                Alert("Ekleme işlemi başarılı.");
                return(RedirectToAction("Index"));
            }
            else
            {
                ErrorAlert("Ekleme işlemi başarısız." + result.Message);
                GenerateViewbags(dto);
                return(View("AddOrUpdate", dto));
            }
        }
コード例 #9
0
 public Species(SpeciesDto fromDto)
 {
     TaxonId        = fromDto.TaxonId;
     KingdomName    = fromDto.KingdomName;
     PhylumName     = fromDto.PhylumName;
     ClassName      = fromDto.ClassName;
     OrderName      = fromDto.OrderName;
     FamilyName     = fromDto.FamilyName;
     GenusName      = fromDto.GenusName;
     ScientificName = fromDto.ScientificName;
     InfraRank      = fromDto.InfraRank;
     InfraName      = fromDto.InfraName;
     Population     = fromDto.Population;
     if (StringCategoryToEnum.TryGetValue(fromDto.Category, out ESpeciesCategory category))
     {
         Category = category;
     }
     else
     {
         //todo: find full list of possible categories, e. g. "NA" is returned, but it does not exist in the The Red List category list
         //throw new ApplicationException($"Unknown Category = {fromDto.Category}");
         Category = ESpeciesCategory.Unknown;
     }
 }
コード例 #10
0
 private void GenerateViewbags(SpeciesDto speciesDto)
 {
     ViewBag.Genusses = new SelectList(_genusService.List().Result.Data, "GenusId", "GenusName", speciesDto.GenusId);
 }