Exemple #1
0
        private async Task <TriggerEditModel> CreateModel(Trigger trigger)
        {
            var sensors = await _context.Sensors.ToListAsync();

            var webhooks = await _context.Webhooks.ToListAsync();

            var model = new TriggerEditModel
            {
                Events = new List <SelectListItem>
                {
                    new SelectListItem("New data", ((int)TriggerEvent.NewData).ToString()),
                    new SelectListItem("New data smaller than", ((int)TriggerEvent.SmallerThan).ToString()),
                    new SelectListItem("New data smaller or equal to", ((int)TriggerEvent.SmallerOrEqual).ToString()),
                    new SelectListItem("New data larger or equal to", ((int)TriggerEvent.LargerOrEqual).ToString()),
                    new SelectListItem("New data larger than", ((int)TriggerEvent.LargerThan).ToString())
                },
                Targets = new List <SelectListItem>
                {
                    new SelectListItem("Webhook", ((int)TriggerTarget.Webhook).ToString()),
                    new SelectListItem("Telegram", ((int)TriggerTarget.Telegram).ToString())
                },
                Sensors  = sensors.Select(s => new SelectListItem(s.DisplayName, s.SensorId.ToString())).ToList(),
                Webhooks = webhooks.Select(w => new SelectListItem(w.Name, w.WebhookId.ToString())).ToList()
            };

            if (trigger != null)
            {
                model = _mapper.Map(trigger, model);
            }

            return(model);
        }
Exemple #2
0
        public async Task <IActionResult> Save(TriggerEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Edit", await CreateModel(model)));
            }

            var entity = _mapper.Map <Trigger>(model);

            if (model.IsEdit)
            {
                _context.Triggers.Update(entity);
            }
            else
            {
                _context.Triggers.Add(entity);
            }

            await _context.SaveChangesAsync();

            TempData[ViewKeys.Message]   = "Trigger saved successfully.";
            TempData[ViewKeys.IsSuccess] = true;

            return(RedirectToAction("Index"));
        }
Exemple #3
0
        private async Task <TriggerEditModel> CreateModel(TriggerEditModel trigger)
        {
            var model = await CreateModel(default(Trigger));

            trigger.Events   = model.Events;
            trigger.Targets  = model.Targets;
            trigger.Sensors  = model.Sensors;
            trigger.Webhooks = model.Webhooks;

            return(trigger);
        }