示例#1
0
        /// <summary>
        /// Update device
        /// </summary>
        /// <param name="device"></param>
        /// <param name="user">This parameter is provided so that we can know which user modified device.</param>
        /// <returns></returns>
        public int UpdateDevice(UpdateDeviceDomain device, UserDomain user)
        {
            if (device == null || user == null)
            {
                throw new NsiArgumentNullException(DeviceMessages.DeviceInvalidArgument);
            }

            if (!_context.DeviceType.Any(x => x.DeviceTypeId == device.DeviceTypeId))
            {
                throw new NsiArgumentException(DeviceTypeMessages.DeviceTypeInvalidId);
            }

            if (!_context.DeviceType.Any(x => x.DeviceTypeId == device.DeviceTypeId && x.IsActive))
            {
                throw new NsiArgumentException(DeviceTypeMessages.DeviceTypeNotActive);
            }

            var deviceDb = _context.Device.Where(x => x.DeviceId == device.DeviceId).FirstOrDefault().FromDomainModel(device, user);

            if (deviceDb == null)
            {
                throw new NsiNotFoundException(DeviceMessages.DeviceNotFound);
            }

            _context.SaveChanges();

            return(deviceDb.DeviceId);
        }
示例#2
0
        /// <summary>
        /// Update device
        /// </summary>
        /// <param name="device"></param>
        /// <param name="user">This parameter is provided so that we can know which user updated device.</param>
        /// <returns></returns>
        public int UpdateDevice(UpdateDeviceDomain device, UserDomain user)
        {
            if (device == null || user == null)
            {
                throw new NsiArgumentException(DeviceMessages.DeviceInvalidArgument);
            }

            return(_deviceRepository.UpdateDevice(device, user));
        }
示例#3
0
        public void UpdateDevice_Failed()
        {
            //Arrange
            _deviceController.ControllerContext.Request.Properties["UserDetails"] = null;
            UpdateDeviceDomain device = GetValidUpdateDeviceDomain();

            // Act
            IHttpActionResult actionResult = _deviceController.UpdateDevice(device);
            var contentResult = actionResult as NegotiatedContentResult <string>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.AreEqual("Updating device failed.", contentResult.Content);
        }
示例#4
0
        public void UpdateDevice_Failed_InvalidArgument()
        {
            //Arrange
            _deviceController.ControllerContext.Request.Properties["UserDetails"] = GetValidUserDomain();
            UpdateDeviceDomain device = GetValidUpdateDeviceDomain();

            device.Name = null;

            // Act
            IHttpActionResult actionResult = _deviceController.UpdateDevice(device);
            var contentResult = actionResult as NegotiatedContentResult <string>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.AreEqual(HttpStatusCode.BadRequest, contentResult.StatusCode);
            Assert.AreEqual("Provided argument is not valid.", contentResult.Content);
        }
示例#5
0
        public static Device FromDomainModel(this Device obj, UpdateDeviceDomain domain, UserDomain user)
        {
            if (obj == null)
            {
                obj = new Device();
            }

            obj.Description  = domain.Description;
            obj.Name         = domain.Name;
            obj.IsActive     = domain.IsActive;
            obj.IsDeleted    = domain.IsDeleted;
            obj.DeviceTypeId = domain.DeviceTypeId;
            obj.ModifiedBy   = user.Id;
            obj.DateModified = DateTime.Now;
            obj.DeviceImage  = domain.DeviceImage;

            return(obj);
        }
示例#6
0
        /// <summary>
        /// Updates device
        /// </summary>
        /// <returns><see cref="IHttpActionResult"/></returns>
        public IHttpActionResult UpdateDevice([FromBody] UpdateDeviceDomain device)
        {
            if (device.Description == null || device.Name == null || device.DeviceTypeId <= 0 || device.DeviceId <= 0)
            {
                return(Content(System.Net.HttpStatusCode.BadRequest, DeviceMessages.DeviceInvalidArgument));
            }

            UserDomain user = (UserDomain)ActionContext.Request.Properties["UserDetails"];

            var result = _deviceManipulation.UpdateDevice(device, user);

            if (result <= 0)
            {
                return(Content(System.Net.HttpStatusCode.InternalServerError, DeviceMessages.DeviceUpdateFailed));
            }

            return(Ok(result));
        }