예제 #1
0
        public async Task <IActionResult> AddDevice([FromBody] DeviceSaveResource deviceAddResource)
        {
            if (!_auth.IsValidUser(User))
            {
                return(NoContent());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var device = _mapper.Map <MdaDevice>(deviceAddResource);

            device.CreatedBy = User.Identity.Name;

            _repo.Add(device);

            if (await _repo.SaveAll())
            {
                return(Ok(device));
            }

            return(BadRequest("Failed to add device"));
        }
예제 #2
0
 private void AddOrUpdateDate(DeviceSaveResource dto, MdaDevice device)
 {
     foreach (var dateDTO in dto.MdaDeviceDate)
     {
         if (dateDTO.Id == 0)
         {
             device.MdaDeviceDate.Add(Mapper.Map <MdaDeviceDate>(dateDTO));
         }
         else
         {
             Mapper.Map(dateDTO, device.MdaDeviceDate.SingleOrDefault(m => m.Id == dateDTO.Id));
         }
     }
 }
예제 #3
0
        public async Task <IActionResult> UpdateDevice(int id, [FromBody] DeviceSaveResource deviceUpdateResource)
        {
            if (!_auth.IsValidUser(User))
            {
                return(NoContent());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var deviceFromRepo = await _repo.GetDevice(id);

            if (deviceFromRepo == null)
            {
                return(BadRequest($"DeviceId {id} could not be found"));
            }

            _mapper.Map <DeviceSaveResource, MdaDevice>(deviceUpdateResource, deviceFromRepo);
            deviceFromRepo.ModifiedBy   = User.Identity.Name;
            deviceFromRepo.ModifiedDate = DateTime.Now;

            foreach (var date in deviceUpdateResource.MdaDeviceDate)
            {
                var device = deviceFromRepo.MdaDeviceDate.FirstOrDefault(x => x.Id == date.Id);
                device.DateValue    = date.DateValue;
                device.DateTypeId   = date.DateTypeId;
                device.ModifiedBy   = User.Identity.Name;
                device.ModifiedDate = DateTime.Now;
            }

            if (await _repo.SaveAll())
            {
                return(NoContent());
            }

            return(BadRequest("Failed to update device"));
        }