Пример #1
0
        /// <summary>
        /// Updates a place.
        /// </summary>
        /// <param name="placeId">Place identifier.</param>
        /// <param name="contactResource">New place information</param>
        /// <returns>Place information.</returns>
        public async Task <DataResponse <PlaceResource> > UpdateAsync(int placeId,
                                                                      SavePlaceResource placeResource)
        {
            try
            {
                if (placeResource == null)
                {
                    throw new ArgumentNullException(nameof(placeResource));
                }

                var place = await _placeRepository.FindByIdAsync(placeId);

                if (place == null)
                {
                    throw new NotFoundException(nameof(Place), placeId);
                }

                PlaceMapper.Map(place, placeResource);
                _placeRepository.Update(place);
                await _unitOfWork.SaveChangesAsync();

                var resource = _mapper.Map <PlaceResource>(place);
                return(new DataResponse <PlaceResource>(resource));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(new DataResponse <PlaceResource>(ex.Message));
            }
        }
Пример #2
0
        public static void Map(Place place, SavePlaceResource placeResource)
        {
            if (place == null || placeResource == null)
            {
                throw new ArgumentNullException("Wrong place or place resource provided.");
            }

            place.Name        = placeResource.Name;
            place.Description = placeResource.Description;
        }
Пример #3
0
        public async Task <IActionResult> PostAsync(
            [FromBody] SavePlaceResource savePlaceResource)
        {
            var response = await _placeService.AddAsync(savePlaceResource);

            if (!response.Success)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
Пример #4
0
        public async Task <IActionResult> PutAsync(int id,
                                                   [FromBody] SavePlaceResource savePlaceResource)
        {
            var response = await _placeService.UpdateAsync(id, savePlaceResource);

            if (!response.Success)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
        public async Task <IActionResult> UpdateAsync(int id, [FromBody] SavePlaceResource resource)
        {
            var place  = _mapper.Map <SavePlaceResource, Place>(resource);
            var result = await _placeService.UpdateAsync(id, place);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }
            var placeResource = _mapper.Map <Place, PlaceResource>(result.Resource);

            return(Ok(placeResource));
        }
        public async Task <IActionResult> PostAsync([FromBody] SavePlaceResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }
            var place  = _mapper.Map <SavePlaceResource, Place>(resource);
            var result = await _placeService.SaveAsync(place);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var placeResource = _mapper.Map <Place, PlaceResource>(result.Resource);

            return(Ok(placeResource));
        }
        public async Task <IActionResult> PutAsync(int id, [FromBody] SavePlaceResource placeResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var place  = _Mapper.Map <SavePlaceResource, Place>(placeResource);
            var result = await _PlaceService.UpdateAsync(id, place);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var placeResponse = _Mapper.Map <Place, PlaceResource>(result.Place);

            return(Ok(placeResponse));
        }
Пример #8
0
        /// <summary>
        /// Adds a place.
        /// </summary>
        /// <param name="placeResource">New place information</param>
        /// <returns>Place information.</returns>
        public async Task <DataResponse <PlaceResource> > AddAsync(SavePlaceResource placeResource)
        {
            try
            {
                if (placeResource == null)
                {
                    throw new ArgumentNullException(nameof(placeResource));
                }

                var place = _mapper.Map <Place>(placeResource);
                await _placeRepository.AddAsync(place);

                await _unitOfWork.SaveChangesAsync();

                var resource = _mapper.Map <PlaceResource>(place);
                return(new DataResponse <PlaceResource>(resource));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(new DataResponse <PlaceResource>(ex.Message));
            }
        }