public ActionResult Register(DeviceModel model)
        {
            var device = new emsDevice
            {
                code                  = model.Code,
                name                  = model.UnicomName,
                ipAddr                = model.IpAddr,
                macAddr               = model.MacAddr,
                port                  = model.Port,
                version               = model.Version,
                projectCode           = model.ProjectCode,
                longitude             = model.Longitude,
                latitude              = model.Latitude,
                startDate             = model.StartDate,
                startDateSpecified    = true,
                endDate               = model.EndDate,
                endDateSpecified      = true,
                installDate           = model.InstallDate,
                installDateSpecified  = true,
                onlineStatus          = model.OnlineStatus,
                onlineStatusSpecified = true,
                videoUrl              = model.VideoUrl
            };

            return(string.IsNullOrWhiteSpace(model.Code) ? AddNewDevice(device, model) : UpdateDevice(device, model));
        }
Beispiel #2
0
        private EmsDevice ConbineStoreDevice(emsDevice emsDevice)
        {
            var dev = new EmsDevice
            {
                SystemCode            = TxtSystemCode.Text,
                OnTransfer            = CbOnlineStatus.IsChecked == true,
                code                  = emsDevice.code,
                name                  = emsDevice.name,
                ipAddr                = emsDevice.ipAddr,
                macAddr               = emsDevice.macAddr,
                port                  = emsDevice.port,
                version               = emsDevice.version,
                projectCode           = emsDevice.projectCode,
                longitude             = emsDevice.longitude,
                latitude              = emsDevice.latitude,
                startDate             = emsDevice.startDate,
                startDateSpecified    = true,
                endDate               = emsDevice.endDate,
                endDateSpecified      = true,
                installDate           = emsDevice.installDate,
                installDateSpecified  = true,
                onlineStatus          = true,
                onlineStatusSpecified = true,
                videoUrl              = emsDevice.videoUrl
            };

            return(dev);
        }
Beispiel #3
0
        private emsDevice ConbineDevice()
        {
            var emsDevice = new emsDevice
            {
                name                  = TxtDeviceName.Text,
                ipAddr                = TxtIpAddress.Text,
                macAddr               = TxtMacAddress.Text,
                port                  = TxtPort.Text,
                version               = TxtDeviceVersion.Text,
                projectCode           = CmbProject.SelectedValue.ToString(),
                longitude             = TxtLongitude.Text,
                latitude              = TxtLatitude.Text,
                startDate             = DpStartDate.DisplayDate,
                startDateSpecified    = true,
                endDate               = DpEndDate.DisplayDate,
                endDateSpecified      = true,
                installDate           = DpInstallDate.DisplayDate,
                installDateSpecified  = true,
                onlineStatus          = CbOnlineStatus.IsChecked == true,
                onlineStatusSpecified = true,
                videoUrl              = TxtVideoUrl.Text
            };

            return(emsDevice);
        }
        private ActionResult AddNewDevice(emsDevice emsDevice, DeviceModel model)
        {
            var result = WebConfig.UniComService.PushDevices(new[] { emsDevice });

            if (result.result.Length > 0 && !result.result[0].value.ToString().Contains("ERROR"))
            {
                try
                {
                    model.Code = result.result[0].key.ToString();
                    using (var ctx = new UnicomDbContext())
                    {
                        ctx.EmsDevices.Add(new EmsDevice
                        {
                            Code            = model.Code,
                            Name            = model.Name,
                            UnicomName      = model.UnicomName,
                            IpAddr          = model.IpAddr,
                            MacAddr         = model.MacAddr,
                            Port            = model.Port,
                            Version         = model.Version,
                            ProjectCode     = model.ProjectCode,
                            Longitude       = model.Longitude,
                            Latitude        = model.Latitude,
                            StartDate       = model.StartDate,
                            EndDate         = model.EndDate,
                            InstallDate     = model.InstallDate,
                            OnlineStatus    = model.OnlineStatus,
                            VideoUrl        = model.VideoUrl,
                            IsTransfer      = model.IsTransfer,
                            IsHandlerValues = model.IsHandlerValues,
                            TpMax           = model.TpMax,
                            TpMin           = model.TpMin
                        });
                        ctx.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    ModelState.AddModelError("RegisterError", "注册设备信息成功,但保存至服务器时遇到异常,请记录工程信息并提供给管理员手动添加。");
                    LoadInfomation(model);
                    return(View(model));
                }
                return(View("Success"));
            }

            foreach (var entry in result.result)
            {
                ModelState.AddModelError("RegisterError", entry.value.ToString());
            }
            LoadInfomation(model);
            return(View(model));
        }
        private ActionResult UpdateDevice(emsDevice emsDevice, DeviceModel model)
        {
            var result = WebConfig.UniComService.PushDeviceStatus(new[] { emsDevice });

            if (result.result.Length <= 0)
            {
                try
                {
                    using (var ctx = new UnicomDbContext())
                    {
                        var dev = ctx.EmsDevices.First(d => d.Code == model.Code);
                        dev.Code            = model.Code;
                        dev.Name            = model.Name;
                        dev.IpAddr          = model.IpAddr;
                        dev.MacAddr         = model.MacAddr;
                        dev.Port            = model.Port;
                        dev.Version         = model.Version;
                        dev.ProjectCode     = model.ProjectCode;
                        dev.Longitude       = model.Longitude;
                        dev.Latitude        = model.Latitude;
                        dev.StartDate       = model.StartDate;
                        dev.EndDate         = model.EndDate;
                        dev.InstallDate     = model.InstallDate;
                        dev.OnlineStatus    = model.OnlineStatus;
                        dev.VideoUrl        = model.VideoUrl;
                        dev.IsTransfer      = model.IsTransfer;
                        dev.IsHandlerValues = model.IsHandlerValues;
                        dev.TpMax           = model.TpMax;
                        dev.TpMin           = model.TpMin;
                        ctx.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    ModelState.AddModelError("RegisterError", "更新设备信息成功,但保存至服务器时遇到异常,请记录设备信息并提供给管理员手动添加。");
                    LoadInfomation(model);
                    return(View(model));
                }
                return(Redirect("/Device/DeviceManager"));
            }

            foreach (var entry in result.result)
            {
                ModelState.AddModelError("RegisterError", entry.value.ToString());
            }
            LoadInfomation(model);
            return(View(model));
        }