Example #1
0
        //public ActionResult Sos()
        //{
        //    SOSAlert alertModel = new SOSAlert()
        //    {
        //        Id = 0,
        //        IsActive = false
        //    };
        //    return View(alertModel);
        //}

        #region Ac
        public ActionResult Ac(int?Id = null)
        {
            AcAlert alertModel = new AcAlert();

            try
            {
                ScheduleViewModel sVM = new ScheduleViewModel();
                sVM.SelectedAlertType = DeviceAlarmType.AcAlarm;

                sVM = new AlertData().GetAlertDetails(sVM, Id);
                AlertBase alertData = sVM.AlertDatas.FirstOrDefault() as AlertBase;

                if (alertData == null)
                {
                    alertData = new AlertBase()
                    {
                        Id         = 0,
                        Conditions = new List <Tracker.Common.Condition>(),
                        IsActive   = false
                    };
                }

                bool IsOnAc = false;

                if (alertData.Conditions.Where(m => m.Operand == "OnAc").FirstOrDefault() != null)
                {
                    IsOnAc = Convert.ToBoolean(Convert.ToInt32(alertData.Conditions.Where(m => m.Operand == "OnAc").FirstOrDefault().Value));
                }
                else
                {
                    IsOnAc = false;
                }

                alertModel = new AcAlert()
                {
                    Id       = alertData.Id,
                    IsActive = alertData.IsActive,
                    IsOnAc   = IsOnAc,
                    Devices  = new List <DeviceDetailSelection>()
                };
                List <DeviceDetailSelection> availableDevices = new AlertData().GetAvailableDevices();
                List <string> activeDevices = new AlertData().GetDevicesForAlert(alertData.Id);
                if (availableDevices != null && availableDevices.Count > 0)
                {
                    alertModel.Devices = availableDevices.Select(m => new DeviceDetailSelection
                    {
                        DeviceId  = m.DeviceId,
                        VehicleId = m.VehicleId,
                        Checked   = activeDevices.Contains(m.DeviceId)
                    }).ToList();
                }
            }
            catch (Exception ex)
            {
            }
            return(View(alertModel));
        }
Example #2
0
        public ActionResult Ac(AcAlert alertModel)
        {
            ScheduleViewModel sVM = new ScheduleViewModel();

            sVM.SelectedAlertType = DeviceAlarmType.AcAlarm;

            sVM.AlertDatas = new List <object>();
            AlertBase alertData = new AlertBase()
            {
                Id         = alertModel.Id,
                IsActive   = alertModel.IsActive,
                Conditions = new List <Tracker.Common.Condition>()
                {
                    new Tracker.Common.Condition()
                    {
                        Operand = "OnAc",
                        Value   = alertModel.IsOnAc == true ? "1" : "0"
                    }
                }
            };

            sVM.AlertDatas.Add(alertData);

            if (new AlertData().SaveAlertData(sVM))
            {
                int updateId = 0;
                if (int.TryParse(sVM.SelectedAlertId, out updateId))
                {
                    alertModel.Id = updateId;
                    if (alertModel.Devices != null && alertModel.Devices.Count > 0)
                    {
                        alertModel.Devices.ForEach(d =>
                        {
                            try
                            {
                                new AlertData().SaveDevicesForAlert(alertModel.Id, d.DeviceId, !d.Checked);
                            }
                            catch (Exception ex)
                            {
                            }
                        });
                    }
                }
                ViewBag.AlertWriteStatus = "Success";
            }
            else
            {
                ViewBag.AlertWriteStatus = "Failed";
            }

            return(View(alertModel));
        }