public async Task <IActionResult> Put(int id, MeasureDeviceTypeView view)
        {
            var device = await db.MeasureDeviceTypes.GetAsync(id);

            if (device == null)
            {
                return(NotFound());
            }
            var measurementType = await db.MeasurementTypes.GetAsync(view.MeasurementTypeId);

            if (measurementType == null)
            {
                return(NotFound(view.MeasurementTypeId));
            }

            var mapper = new MapperConfiguration(cfg =>
                                                 cfg.CreateMap <MeasureDeviceTypeView, MeasureDeviceType>()
                                                 .ForMember("Id", opt => opt.Ignore())
                                                 ).CreateMapper();

            var deviceUp = mapper.Map <MeasureDeviceTypeView, MeasureDeviceType>(view);

            db.MeasureDeviceTypes.Update(deviceUp);
            await db.SaveAsync();

            return(Ok(deviceUp));
        }
        public async Task <IActionResult> Post(MeasureDeviceTypeView view)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var measurementType = await db.MeasurementTypes.GetAsync(view.MeasurementTypeId);

            if (measurementType == null)
            {
                return(NotFound(view.MeasurementTypeId));
            }

            var device = new MeasureDeviceType()
            {
                AllowedByCat      = view.AllowedByCat,
                AllowedByClass    = view.AllowedByClass,
                AllowedByRandom   = view.AllowedByRandom,
                MDProducer        = view.MDProducer,
                MeasurementTypeId = view.MeasurementTypeId,
                MeasurmentRange   = view.MeasurmentRange,
                QualifiedName     = view.QualifiedName,
                VerificationGap   = view.VerificationGap,
                VerificationProc  = view.VerificationProc,
                Name = view.Name
            };

            await db.MeasureDeviceTypes.AddAsync(device);

            await db.SaveAsync();

            return(CreatedAtAction("Get", new { id = device.Id }, device));
        }