/// <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); }
/// <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)); }
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); }
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); }
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); }
/// <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)); }