/// <summary> /// Create device /// </summary> /// <param name="device"></param> /// <param name="user">This parameter is provided so that we can know which user created device.</param> /// <returns></returns> public int CreateDevice(CreateDeviceDomain device, UserDomain user) { if (device == null || user == null) { throw new NsiArgumentNullException(DeviceMessages.DeviceInvalidArgument); } DeviceStatus newStatus = _context.DeviceStatus.Where(x => x.Name == "New").FirstOrDefault(); if (newStatus == null) { throw new NsiNotFoundException(DeviceMessages.InvalidDeviceStatus); } 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 = new Device().FromDomainModel(device, user); deviceDb.DeviceStatusId = newStatus.DeviceStatusId; _context.Device.Add(deviceDb); _context.SaveChanges(); return(deviceDb.DeviceId); }
/// <summary> /// Create device /// </summary> /// <param name="device"></param> /// <param name="user">This parameter is provided so that we can know which user created device.</param> /// <returns></returns> public int CreateDevice(CreateDeviceDomain device, UserDomain user) { if (device == null || user == null) { throw new NsiArgumentException(DeviceMessages.DeviceInvalidArgument); } return(_deviceRepository.CreateDevice(device, user)); }
public void CreateDevice_Failed() { //Arrange _deviceController.ControllerContext.Request.Properties["UserDetails"] = null; CreateDeviceDomain device = GetValidCreateDeviceDomain(); // Act IHttpActionResult actionResult = _deviceController.CreateDevice(device); var contentResult = actionResult as NegotiatedContentResult <string>; // Assert Assert.IsNotNull(contentResult); Assert.AreEqual(HttpStatusCode.BadRequest, contentResult.StatusCode); Assert.AreEqual("Creating new Device failed.", contentResult.Content); }
public void CreateDevice_Failed_InvalidArgument() { //Arrange _deviceController.ControllerContext.Request.Properties["UserDetails"] = GetValidUserDomain(); CreateDeviceDomain device = GetValidCreateDeviceDomain(); device.Name = null; // Act IHttpActionResult actionResult = _deviceController.CreateDevice(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); }
/// <summary> /// Creates device /// </summary> /// <returns><see cref="IHttpActionResult"/></returns> public IHttpActionResult CreateDevice([FromBody] CreateDeviceDomain device) { if (device.Description == null || device.Name == null || device.DeviceTypeId <= 0) { return(Content(System.Net.HttpStatusCode.BadRequest, DeviceMessages.DeviceInvalidArgument)); } UserDomain user = (UserDomain)ActionContext.Request.Properties["UserDetails"]; var result = _deviceManipulation.CreateDevice(device, user); if (result <= 0) { return(Content(System.Net.HttpStatusCode.BadRequest, DeviceMessages.DeviceCreationFailed)); } return(Content(System.Net.HttpStatusCode.Created, result)); }
public static Device FromDomainModel(this Device obj, CreateDeviceDomain domain, UserDomain user) { if (obj == null) { obj = new Device(); } obj.Identifier = Guid.NewGuid(); obj.Description = domain.Description; obj.Name = domain.Name; obj.IsActive = true; obj.IsDeleted = false; obj.DeviceTypeId = domain.DeviceTypeId; obj.CreatedBy = user.Id; obj.DateCreated = DateTime.Now; obj.TenantId = user.TenantId; obj.DeviceImage = domain.DeviceImage; return(obj); }