Exemplo n.º 1
0
        public async Task <IActionResult> GetById(Guid id)
        {
            FieldMeasurement fieldMeasurement = await _repository.GetByIdAsync(id);

            if (fieldMeasurement == null)
            {
                return(NotFound());
            }

            return(Ok(_mapper.Map(fieldMeasurement)));
        }
        private void CreateMesurements(IPhysicalField field)
        {
            string name = this.GetRelativeName(field as IAssociatedObject) + "_";

            name = name.Replace(".", "_");
            name = name.Replace("/", "_");
            int n = field.Count;
            IList <IMeasurement> lm = new List <IMeasurement>();
            IList <ProcessField> pr = new List <ProcessField>();
            IList <object>       lo = new List <object>();

            dic[field]     = lm;
            proc[field]    = pr;
            results[field] = lo;
            IMeasurement mea = null;

            measures.Clear();
            for (int i = 0; i < n; i++)
            {
                object       result = null;
                ProcessField pf     = null;
                string       na     = name + (i + 1);
                object       type   = field.GetType(i);
                object       tt     = field.GetTransformationType(i);
                if (type is ArrayReturnType)
                {
                    if (tt.Equals(Field3D_Types.CovariantVector))
                    {
                        pf = ProcessCovariantVector;
                    }
                    else
                    {
                        pf = ProcessInvariantVector;
                    }
                    ArrayReturnType art = type as ArrayReturnType;
                    int             dim = art.Dimension[0];
                    result = new double[dim];
                    mea    = new FieldMeasurement(na, type, result);
                }
                else
                {
                    pf     = ProcessSimpleType;
                    result = new object[1];
                    mea    = new FieldMeasurementElement(na, type, result as object[]);
                }
                lm.Add(mea);
                pr.Add(pf);
                lo.Add(result);
                measures.Add(mea);
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Post(FieldMeasurementRequest request)
        {
            try
            {
                FieldMeasurement fieldMeasurement = _mapper.Map(request);

                fieldMeasurement = await _repository.AddAsync(fieldMeasurement);

                return(CreatedAtAction(nameof(GetById), new { id = fieldMeasurement.Id }, _mapper.Map(fieldMeasurement)));
            }

            catch (DataStoreException e)
            {
                _logger.LogError(e.Message, e, request);
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Delete(Guid id)
        {
            try
            {
                FieldMeasurement fieldMeasurement = await _repository.GetByIdAsync(id);

                if (fieldMeasurement == null)
                {
                    return(NotFound());
                }

                await _repository.DeleteAsync(fieldMeasurement);

                return(Ok(id));
            }

            catch (DataStoreException e)
            {
                _logger.LogError(e.Message, e, id);
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Put(Guid id, FieldMeasurementRequest request)
        {
            try
            {
                FieldMeasurement fieldMeasurement = await _repository.GetByIdAsync(id);

                if (fieldMeasurement == null)
                {
                    return(NotFound());
                }

                _mapper.Map(fieldMeasurement, request);

                await _repository.UpdateAsync(fieldMeasurement);

                return(Ok());
            }

            catch (DataStoreException e)
            {
                _logger.LogError(e.Message, e, request);
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }