Esempio n. 1
0
        private async Task AddOneRelationAsync(string title, short year, string lastName, string birthdate, string role)
        {
            var fp     = new BaseFilmPersonDto(title, year, lastName, birthdate, role);
            var result = await PostAsync <OperationStatus, BaseFilmPersonDto>("FilmPerson", "Add", fp);

            Debug.Assert(result.Value == 0);
        }
Esempio n. 2
0
        public override async Task <OperationStatus> UpdateAsync(FilmPersonDto dto)
        {
            var b = new BaseFilmPersonDto(dto.Title,
                                          dto.Year,
                                          dto.LastName,
                                          dto.Birthdate,
                                          dto.Role);
            var response = await _client.PutAsync(_route, jsonContent);

            return(StatusFromResponse(response));
        }
Esempio n. 3
0
        public override async Task <OperationStatus> AddAsync(FilmPersonDto dto)
        {
            var result = OperationStatus.OK;
            // Do not permit duplicates.
            var key = _keyService.ConstructFilmPersonKey(dto.Title,
                                                         dto.Year,
                                                         dto.LastName,
                                                         dto.Birthdate,
                                                         dto.Role);
            var s = await GetByKeyAsync(key);

            if (s == OperationStatus.OK)
            {
                result = OperationStatus.BadRequest;
                result.ReasonForFailure = "A corresponding relation exists already";
                return(result);
            }

            var b = new BaseFilmPersonDto(dto.Title,
                                          dto.Year,
                                          dto.LastName,
                                          dto.Birthdate,
                                          dto.Role);
            var jsonContent = new StringContent(JsonConvert.SerializeObject(b), Encoding.UTF8, "application/json");
            var response    = await _client.PostAsync(_route, jsonContent);

            result = StatusFromResponse(response);
            if (result == OperationStatus.OK)
            {
                var key1      = _keyService.ConstructFilmPersonKey(dto.Title, dto.Year, dto.LastName, dto.Birthdate, dto.Role);
                var response1 = await _client.GetAsync($"{_route}/{key1}");

                var stringResponse = await response1.Content.ReadAsStringAsync();

                _addResult     = JsonConvert.DeserializeObject <FilmPersonDto>(stringResponse);
                _addResult.Key = key;
            }
            else
            {
                _addResult = null;
            }
            return(result);
        }
 public async Task <OperationStatus> PutAsync([FromBody] BaseFilmPersonDto model)
 {
     return(await _service.UpdateAsync(model));
 }
 public async Task <OperationResult <IKeyedDto> > PostAsync([FromBody] BaseFilmPersonDto model)
 {
     return(await _service.AddAsync(model));
 }