예제 #1
0
        public ActionResult AddNewProject(emsProject project, ProjectModel model)
        {
            project.code = model.RegisterCode;
            var result = WebConfig.UniComService.PushProjects(new[] { project });

            if (result.result.Length > 0 && !result.result[0].value.ToString().Contains("ERROR"))
            {
                try
                {
                    model.Code = result.result[0].value.ToString();
                    using (var ctx = new UnicomDbContext())
                    {
                        ctx.EmsProjects.Add(new EmsProject
                        {
                            Code            = model.Code,
                            Name            = model.Name,
                            RegisterCode    = model.RegisterCode,
                            District        = model.District,
                            ProjectType     = model.ProjectType,
                            ProjectCategory = model.ProjectCategory,
                            ProjectPeriod   = model.ProjectPeriod,
                            Region          = model.Region,
                            Street          = model.Street,
                            Longitude       = model.Longitude,
                            Latitude        = model.Latitude,
                            Contractors     = model.Contractors,
                            Superintendent  = model.Superintendent,
                            Telephone       = model.Telephone,
                            Address         = model.Address,
                            SiteArea        = model.SiteArea,
                            BuildingArea    = model.BuildingArea,
                            StartDate       = model.StartDate,
                            EndDate         = model.EndDate,
                            Stage           = model.Stage,
                            IsCompleted     = model.IsCompleted,
                            Status          = model.Status
                        });
                        ctx.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    ModelState.AddModelError("RegisterError", "注册工程信息成功,但保存至服务器时遇到异常,请记录工程信息并提供给管理员手动添加。");
                    LoadInfomation(model);
                    return(View(nameof(Register), model));
                }
                return(View("Success"));
            }

            foreach (var entry in result.result)
            {
                ModelState.AddModelError("RegisterError", entry.value.ToString());
            }
            LoadInfomation(model);
            return(View(nameof(Register), model));
        }
예제 #2
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            using (var ctx = new UnicomDbContext())
            {
                if (!ctx.EmsDistricts.Any())
                {
                    var server = WebConfig.UniComService;
                    foreach (var emsDistrict in server.PullDistrict(null))
                    {
                        ctx.EmsDistricts.Add(new EmsDistrict
                        {
                            Code = emsDistrict.code,
                            Name = emsDistrict.name
                        });
                    }
                    foreach (var emsPrjType in server.PullProjectType())
                    {
                        ctx.EmsProjectTypes.Add(new EmsProjectType
                        {
                            Code = emsPrjType.code,
                            Name = emsPrjType.name
                        });
                    }
                    foreach (var emsPrjPeriod in server.PullProjectPeriod())
                    {
                        ctx.EmsProjectPeriods.Add(new EmsProjectPeriod
                        {
                            Code = emsPrjPeriod.code,
                            Name = emsPrjPeriod.name
                        });
                    }
                    foreach (var emsPrjCategory in server.PullProjectCategory())
                    {
                        ctx.EmsProjectCategories.Add(new EmsProjectCategory
                        {
                            Code = emsPrjCategory.code,
                            Name = emsPrjCategory.name
                        });
                    }
                    foreach (var emsRegion in server.PullRegion())
                    {
                        ctx.EmsRegions.Add(new EmsRegion
                        {
                            Code = emsRegion.code,
                            Name = emsRegion.name
                        });
                    }
                    ctx.SaveChanges();
                }
            }
        }
예제 #3
0
        public ActionResult UpdateProject(emsProject project, ProjectModel model)
        {
            project.code = model.Code;
            var result = WebConfig.UniComService.PushProjectStatus(new[] { project });

            if (result.result.Length <= 0)
            {
                try
                {
                    using (var ctx = new UnicomDbContext())
                    {
                        var prj = ctx.EmsProjects.First(p => p.Code == model.Code);
                        prj.Code            = model.Code;
                        prj.Name            = model.Name;
                        prj.RegisterCode    = model.RegisterCode;
                        prj.District        = model.District;
                        prj.ProjectType     = model.ProjectType;
                        prj.ProjectCategory = model.ProjectCategory;
                        prj.ProjectPeriod   = model.ProjectPeriod;
                        prj.Region          = model.Region;
                        prj.Street          = model.Street;
                        prj.Longitude       = model.Longitude;
                        prj.Latitude        = model.Latitude;
                        prj.Contractors     = model.Contractors;
                        prj.Superintendent  = model.Superintendent;
                        prj.Telephone       = model.Telephone;
                        prj.Address         = model.Address;
                        prj.SiteArea        = model.SiteArea;
                        prj.BuildingArea    = model.BuildingArea;
                        prj.StartDate       = model.StartDate;
                        prj.EndDate         = model.EndDate;
                        prj.Stage           = model.Stage;
                        prj.IsCompleted     = model.IsCompleted;
                        prj.Status          = model.Status;
                        ctx.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    ModelState.AddModelError("RegisterError", "更新工程信息成功,但保存至服务器时遇到异常,请记录工程信息并提供给管理员手动添加。");
                    LoadInfomation(model);
                    return(View(nameof(Register), model));
                }
                return(Redirect("/Project/ProjectManager"));
            }

            foreach (var entry in result.result)
            {
                ModelState.AddModelError("RegisterError", entry.value.ToString());
            }
            LoadInfomation(model);
            return(View(nameof(Register), model));
        }
예제 #4
0
        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));
        }
예제 #5
0
        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));
        }
예제 #6
0
 public ActionResult Stop(string code)
 {
     using (var ctx = new UnicomDbContext())
     {
         var dev = ctx.EmsDevices.First(d => d.Code == code);
         try
         {
             dev.IsTransfer = false;
             ctx.SaveChanges();
             return(Json("停止上传成功!", JsonRequestBehavior.AllowGet));
         }
         catch (Exception)
         {
             return(Json("停止上传操作失败!", JsonRequestBehavior.AllowGet));
         }
     }
 }