コード例 #1
0
        public async Task <AddOnDTO> EditAddOn(AddOnEditDTO addOnInfo, int tripId)
        {
            using (_unitOfWork)
            {
                AddOn addOn = await _unitOfWork.AddOnRepository.GetAddOnWithVotable(addOnInfo.AddOnId);

                addOn.Price       = addOnInfo.Price;
                addOn.Description = addOnInfo.Description;
                _unitOfWork.AddOnRepository.Update(addOn);
                await _unitOfWork.Save();

                AddOnDTO retValue = _mapper.Map <AddOn, AddOnDTO>(addOn);
                await _messageControllerService.NotifyOnTripChanges(tripId, "EditAddOn", retValue);

                return(retValue);
            }
        }
コード例 #2
0
        public async Task <ActionResult> EditAddOn(int tripId, [FromBody] AddOnEditDTO addOnInfo)
        {
            try
            {
                if (!await _editRightsService.HasEditRights(tripId))
                {
                    return(BadRequest(new JsonResult("You can't currently edit this trip.")));
                }
                AddOnDTO result = await _addOnService.EditAddOn(addOnInfo, tripId);

                await _editRightsService.ProlongEditRights(tripId, _redisAppSettings.EditRightsProlongedTTL);

                if (result != null)
                {
                    return(Ok(result));
                }
                return(BadRequest(new JsonResult("Invalid add on information")));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }