Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        /// <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));
        }
Esempio n. 6
0
        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);
        }