示例#1
0
        public IActionResult Put([FromBody] ScriptViewModel scriptViewModel)
        {
            if (scriptViewModel == null)
            {
                return(StatusCode(500, new InternalServerError()));
            }

            var user = User.GetUser(_context);

            var userHasController = _context.UserHasControllers
                                    .Where(p => p.UserId == user.Id)
                                    .Where(p => p.ControllerId == scriptViewModel.ControllerId)
                                    .FirstOrDefault();

            if (userHasController == null)
            {
                return(Unauthorized(new UnauthorizedError()));
            }

            var script = new Script
            {
                ControllerId         = scriptViewModel.ControllerId,
                Priority             = scriptViewModel.Priority,
                ConditionTypeId      = scriptViewModel.ConditionTypeId,
                Complited            = false,
                RepeatTimes          = scriptViewModel.RepeatTimes,
                TimeTo               = scriptViewModel.TimeTo,
                TimeFrom             = scriptViewModel.TimeFrom,
                Delta                = scriptViewModel.Delta,
                SensorId             = scriptViewModel.SensorId,
                Visible              = true,
                LastModificationDate = DateTime.Now,
                ConditionValue       = scriptViewModel.ConditionValue,
                UserId               = user.Id,
                Status               = false,
                Name = scriptViewModel.Name
            };

            _context.Scripts.Add(script);
            _context.SaveChanges();

            return(Json(script.Adapt <ScriptViewModel>()));
        }