Beispiel #1
0
        public async Task <IActionResult> PutMeasure([FromBody] Entry entry)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Entry mes = await _repository.GetAsync(entry.Id);

            if (!await _repository.UpdateAsync(mes.Id, entry))
            {
                return(NoContent());
            }
            return(Ok());
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Id, DateTime,SoilMoisture,SoilDescription,AirHumidity,AirTemperature,LightState,DeviceName")] Entry entry)
        {
            if (id != entry.Id)
            {
                return(NotFound());
            }
            if (!ModelState.IsValid)
            {
                return(View(entry));
            }
            try
            {
                await _repository.UpdateAsync(id, entry);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!await MeasureExists(entry.Id))
                {
                    return(NotFound());
                }
                throw;
            }
            Guid deviceId = await GetDeviceId(id);

            return(RedirectToAction("Index", "Entry", new { deviceId }));
        }
Beispiel #3
0
        public async Task <Unit> Handle(UpdateMeasureCommandResquest request, CancellationToken cancellationToken)
        {
            var measure = MeasureMapper.Map(request.MeasureCommandDto);

            await _measureRepository.UpdateAsync(measure);

            return(Unit.Value);
        }
Beispiel #4
0
        public async Task <CommandResult> Handle(UpdateMeasureCommand request, CancellationToken cancellationToken)
        {
            CommandResult commandInvariantResult = await ValidateCommandInvariants(request);

            if (!commandInvariantResult.Success)
            {
                return(FailureDueTo(commandInvariantResult.Notifications.ToList()));
            }

            Measure measure = await _measureRepository.GetByIdAsync(request.MeasureId);

            if (!FoundValidMeasure(measure))
            {
                return(FailureDueToMeasureNotFound());
            }

            List <Image> bodyPictures = new List <Image>();

            foreach (IFormFile bodyPicture in request.BodyPictures)
            {
                string containerName = _containerOptions.Value.MeasureImageContainerName;

                StorageFile existingBodyPicture = await _storageService.FindFileAsync(containerName, bodyPicture.FileName);

                if (existingBodyPicture == null)
                {
                    StorageResult storageResult = await UploadBodyPictureToStorage(bodyPicture);

                    if (!storageResult.Success)
                    {
                        return(FailureDueToUploadFailure());
                    }

                    bodyPictures.Add(new Image(storageResult.FileName, storageResult.FileUrl));
                }
                else
                {
                    bodyPictures.Add(new Image(existingBodyPicture.UrlPath, existingBodyPicture.Name));
                }
            }

            BasicMeasure basicMeasure = new BasicMeasure(request.Height, request.Weight);

            measure.Update(
                request.Title,
                request.Details,
                basicMeasure,
                request.MeasureDate,
                bodyPictures,
                _mapper.Map <List <MeasureLine> >(request.MeasureLines)
                );

            await _measureRepository.UpdateAsync(measure);

            return(await CommitAndPublishDefaultAsync());
        }