예제 #1
0
 /// <summary>
 /// treeList选中Sign改变后,Current Sign也随即改变
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="msg"></param>
 void DashboardTree_Observers(object sender, SelectedSignMessage msg)
 {
     if (sender != this)
     {
         try
         {
             if (msg.CurrentSign.Active)
             {
                 ControlService.SignCombo.SelectedItem = msg.CurrentSign;
                 ControlService.SignCombo.NullText     = msg.CurrentSign.ToString();
                 if (msg.CurrentSign.IsNew)
                 {
                     msg.CurrentSign.IsNew = false;
                     //LocalMessageBus.Send(this, new PWMessage<MenuCommands>(MenuCommands.NewMessage));
                     //LocalMessageBus.Send(this, new PWMessage<MenuCommands>(MenuCommands.NewPlaylist));
                     //LocalMessageBus.Send(this, new PWMessage<MenuCommands>(MenuCommands.NewScheduler));
                 }
                 CurrentSignChanged();
                 SignInfo sign   = msg.CurrentSign;
                 var      action = new SelectedSignAction(sign);
                 action.Perform();
             }
             else
             {
                 //ControlService.SignCombo.
                 ControlService.SignCombo.SelectedItem = null;
                 //ControlService.SignCombo. = null;
             }
         }
         catch
         {
             SetPicImageNull();
         }
     }
 }
예제 #2
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            sign   = ControlService.SignCombo.Current;

            DimmingSet dimming = new DimmingSet();



            dimming.StartTime = timeStart.Time.GetDateTimeFormats()[113];
            dimming.EndTime   = timeEnd.Time.GetDateTimeFormats()[113];

            dimming.Mode    = 0;
            dimming.DimType = Convert.ToInt32(DimmingType.Percent);
            dimming.Value   = Convert.ToInt32(spinDimming.Text);

            //Send set dimming command
            sign.Controller.SendAsync(
                Commands.Dimming,
                p =>
            {
                Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    MsgBox.Information(Resources.Resource.GetString(Resources.Resource.Strings.SetDimmingSuccessed));    //"Dimming Successfully Changed.");
                    Close();
                }
                else
                {
                    MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.SetDimmingFailed));    //"Dimming was not changed.Please try again.");
                }
            },
                dimming);
        }
예제 #3
0
        private void Init()
        {
            sign = ControlService.SignCombo.Current;
            DateAndTime datetime = new DateAndTime();

            datetime.Mode        = 1;
            datetime.CurrentTime = "";

            //Get datetime state of UFE
            sign.Controller.SendAsync(
                Commands.SetDateTime,
                p =>
            {
                Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    string str = p.Packet.Content.GetProperty <string>("CurrentTime");
                    try
                    {
                        string date      = str.Substring(8, 4) + "-" + str.Substring(0, 2) + "-" + str.Substring(2, 2);
                        string time      = str.Substring(4, 2) + ":" + str.Substring(6, 2) + ":" + str.Substring(str.Length - 2, 2);
                        string year      = str.Substring(8, 4);
                        timeEdit1.Time   = DateTime.Parse(str);
                        ddlDate.DateTime = DateTime.Parse(str).Date;
                    }
                    catch { }
                }
            },
                datetime);
        }
        public ActionResult ImportSignInfo(HttpPostedFileBase file, string SignID, SignListViewModel signListViewModel)
        {
            DataTable dataTable = new DataTable();
            var       fileName  = file.FileName;
            var       filePath  = Server.MapPath(string.Format("~/{0}", "Files"));
            string    path      = Path.Combine(filePath, fileName);

            file.SaveAs(path);
            dataTable = ImportExcel.GetExcelDataTable(path);
            if (dataTable.Rows.Count > 0)
            {
                GameClubEntities       gameClubEntities = new GameClubEntities();
                CovertListHelper       toList           = new CovertListHelper();
                List <SignInfo>        signInfos        = toList.convertToList <SignInfo>(dataTable);
                IEnumerable <SignInfo> signInfosResult  = gameClubEntities.SignInfo.Where(s => s.SignID == SignID);
                foreach (var item in signInfos)
                {
                    SignInfo signInfo = signInfosResult.Where(s => s.GameID == item.GameID).FirstOrDefault();
                    if (signInfo != null)
                    {
                        if (!string.IsNullOrEmpty(item.VoiceCondition))
                        {
                            signInfo.VoiceCondition = item.VoiceCondition;
                        }
                        else
                        {
                            signInfo.VoiceCondition = "未语音";
                        }
                    }
                }
                gameClubEntities.SaveChanges();
            }
            signListViewModel = UpdateSignListViewModel(signListViewModel);
            return(PartialView("_SignList", signListViewModel));
        }
예제 #5
0
        private void ExecuteCommand(Commands cmd, object body)
        {
            SignInfo sign = ControlService.SignCombo.Current;

            Cursor.Current          = Cursors.WaitCursor;
            this.richTextBox1.Text += DateTime.Now.ToString() + ":   Begin send " + cmd.ToString() + "\n";
            sign.Controller.SendAsync(cmd, p =>
            {
                Cursor.Current = Cursors.Default;
                if (!p.IsSuccessed)
                {
                    if (p.Packet.HasError)
                    {
                        this.richTextBox1.Text += DateTime.Now.ToString() + ":   " + p.Packet.ActionError.Message + "\n";
                    }
                    if (p.Exception != null)
                    {
                        this.richTextBox1.Text += DateTime.Now.ToString() + ":   " + p.Exception.Message + "\n";
                    }
                }
                else
                {
                    this.richTextBox1.Text += DateTime.Now.ToString() + ":   " + cmd.ToString() + " Successed. \n";
                    //if(cmd == Commands.TimeZone)
                    //    this.richTextBox1.Text += DateTime.Now.ToString() + ":   Receive content '" + p.Packet.Content.GetProperty<string>("Location")+"'";
                }
            }, body);
        }
예제 #6
0
 internal ZipPart(string relativeName, FileName fileName, string checksum, SignInfo signInfo)
 {
     RelativeName = relativeName;
     FileName     = fileName;
     Checksum     = checksum;
     SignInfo     = signInfo;
 }
예제 #7
0
 /// <summary>
 /// Check live sign info is valide
 /// </summary>
 /// <param name="sign"></param>
 /// <returns></returns>
 private bool CheckLiveInfo(SignInfo sign)
 {
     return(!string.IsNullOrEmpty(sign.LoginInfomation.IpAddress) &&
            !string.IsNullOrEmpty(sign.LoginInfomation.ConnectionUserName)
            //&& !string.IsNullOrEmpty(sign.LoginInfomation.ConnectionPassword)
            && !string.IsNullOrEmpty(sign.LoginInfomation.Port.ToString()));
 }
예제 #8
0
 /// <summary>
 /// populate data in order to open control panel
 /// </summary>
 /// <param name="signType"></param>
 /// <param name="size"></param>
 /// <param name="model"></param>
 public void Populate(SignInfo sign, TModel model)
 {
     _sign     = sign;
     _signSize = new Size(sign.Width, sign.Height);
     _model    = model;
     DoPopulate();
 }
예제 #9
0
        public override void Perform()
        {
            if (ControlService.SignCombo.Current == null)
            {
                MsgBox.Warning(Resources.Resource.GetString(Resources.Resource.Strings.AddNewSignFirst));
                return;
            }

            SignInfo sign = ControlService.SignCombo.Current;

            if (MsgBox.Confirm(Resources.Resource.GetFormatString(Resources.Resource.Strings.RebootCXC, sign.Name)) != DialogResult.Yes)
            {
                return;
            }

            Cursor.Current = Cursors.WaitCursor;
            //Send reboot command to UFE
            sign.Controller.SendAsync(Id, p =>
            {
                Cursor.Current = Cursors.Default;
                if (!p.IsSuccessed)
                {
                    if (p.Packet.HasError)
                    {
                        log.Error(p.Packet.ActionError.Message);
                    }
                    if (p.Exception != null)
                    {
                        log.Error(p.Exception.Message, p.Exception);
                    }

                    MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.RebootCXC));
                }
            });
        }
예제 #10
0
        public bool Add(FileLibraryItem item, SignInfo sign)
        {
            if (item == null || sign == null)
            {
                return(false);
            }
            MessageInfo msg = new MessageInfo();

            msg.Size = new Size(sign.Width, sign.Height);

            msg.Name      = Path.GetFileNameWithoutExtension(item.Name);
            msg.BackColor = sign.Template.Message.BackGroundColor;
            msg.Length    = sign.Template.Message.DisplayTime;

            if (msg.Add(item, sign))
            {
                if (Add(msg))
                {
                    OnAddCompleted(msg);
                    GenerateNailImage(msg);
                    return(true);
                }
            }
            return(false);
        }
예제 #11
0
        public void OnlyContainer()
        {
            // List of files to be considered for signing
            var itemsToSign = new string[] {
                $@"Resources/ContainerOne.1.0.0.nupkg",
            };

            // Default signing information
            var signingInformation = new Dictionary <string, SignInfo>()
            {
                { "581d91ccdfc4ea9c", new SignInfo("ArcadeCertTest", "ArcadeStrongTest") }
            };

            var expectedAsmSignInfo = new SignInfo("ArcadeCertTest", "ArcadeStrongTest");
            var expectedNugSignInfo = new SignInfo(SignToolConstants.Certificate_NuGet, null);
            var expectedNatSignInfo = new SignInfo(SignToolConstants.Certificate_MicrosoftSHA2, null);
            var expectedSigningList = new List <FileName>()
            {
                new FileName("/ContainerOne.1.0.0.nupkg", expectedNugSignInfo),
                new FileName("/netcoreapp2.0/ProjectOne.dll", expectedAsmSignInfo),
                new FileName("/netcoreapp2.0/ContainerOne.dll", expectedAsmSignInfo),
                new FileName("/netcoreapp2.1/ProjectOne.dll", expectedAsmSignInfo),
                new FileName("/netstandard2.0/ProjectOne.dll", expectedAsmSignInfo),
                new FileName("/net461/ProjectOne.dll", expectedAsmSignInfo),
                new FileName("/native/NativeLibrary.dll", expectedNatSignInfo),
            };

            // Overriding information
            var signingOverridingInformation = new Dictionary <ExplicitCertificateKey, string>();

            TestCaseEpilogue(itemsToSign, signingInformation, signingOverridingInformation, expectedSigningList);
        }
예제 #12
0
        public MessageInfo AddNoSave(FileLibraryItem item, int length, SignInfo sign)
        {
            if (item == null || sign == null)
            {
                return(null);
            }
            MessageInfo msg = new MessageInfo();

            msg.Size = new Size(sign.Width, sign.Height);

            msg.Name      = Path.GetFileNameWithoutExtension(item.Name);
            msg.BackColor = sign.Template.Message.BackGroundColor;
            if (length != -1)
            {
                msg.Length = length;
            }
            else
            {
                msg.Length = sign.Template.Message.DisplayTime;
            }


            if (msg.Add(item, length, sign))
            {
                GenerateNailImageNoSave(msg);

                return(msg);
            }
            return(null);
        }
예제 #13
0
        public override void Perform()
        {
            string path = "";

            if (sign == null)
            {
                sign = ControlService.SignCombo.Current;
            }
            sign.Controller.SendAsync(
                Commands.GetHealthStatus,
                h =>
            {
                if (h.IsSuccessed)
                {
                    path = h.Packet.Content.GetProperty <string>("Path");
                    if (path != null && path != "")
                    {
                        string toFilePath = Constance.AppPath + sign.Name + ".xml";
                        sign.Controller.Connection.FtpManager.DownLoad(path, toFilePath);

                        var status = Serialiser <StatusInfo> .Xml.Deserialise(toFilePath);
                        if (status != null && status.Count > 0)
                        {
                            sign.Status = status[0].StatusValue.ToLower();
                            LocalMessageBus.Send(this, new SetPWLogo(sign.Status));
                            ControlService.DashboardTree.PopulateTree();
                            ControlService.DashboardTree.SetTreeFocusedNode(sign);
                        }
                    }
                }
            }, null);
        }
예제 #14
0
 public SignFormNew(SignInfo sign, bool isTreelist)//,string ipAddress,string portNo,string serverName,string pwd,bool isUserProxy)
 {
     InitializeComponent();
     Current    = sign;
     IsTreeList = isTreelist;
     //this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
 }
예제 #15
0
        public void PopulateRelationTest1()
        {
            SignInfo      sign  = new SignInfo();
            SignGroupInfo group = new SignGroupInfo();

            group.Name = "group";

            sign.Name    = "sign";
            group.Parent = tree;
            sign.Parent  = group;
            //_tree.AddSign(sign);
            Serialiser <SignGroupTree> ser = Serialiser <SignGroupTree> .Binaray;

            using (MemoryStream stream = new MemoryStream())
            {
                ser.Serialize(tree, stream);

                tree.Clear();
                stream.Position = 0;
                tree            = ser.Deserialise(stream);
                stream.Close();
            }

            tree.PopulateRelation();
            //
            Assert.AreEqual(1, tree.Groups.Length);
            Assert.AreEqual(1, tree.Groups[0].Signs.Length);
            Assert.AreEqual(0, tree.Signs.Length);
        }
예제 #16
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            sign   = ControlService.SignCombo.Current;
            TimeZoneSet timeZone = new TimeZoneSet();

            timeZone.Mode     = 0;
            timeZone.Location = ddlTimeZoneType.Text.ToString();

            //Send set timezone command
            sign.Controller.SendAsync(
                Commands.TimeZone,
                p =>
            {
                Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    MsgBox.Information(Resources.Resource.GetString(Resources.Resource.Strings.SetTimeZoneSuccessed));    //"Time Zone Successfully Changed.");
                    Close();
                }
                else
                {
                    MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.SetTimeZoneFailed));    //"Time Zone was not changed.Please try again.");
                }
            },
                timeZone);
        }
예제 #17
0
        public override void Perform()
        {
            SignInfo sign = ControlService.SignCombo.Current;

            TestPatternEntity testPattern = new TestPatternEntity();

            testPattern.Type = 2;
            testPattern.Mode = 0;
            testPattern.Flag = 1;
            sign.Controller.SendAsync(
                Commands.TestPattern,
                p =>
            {
                //Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    MsgBox.Information(
                        Resources.Resource.GetString(Resources.Resource.Strings.SetTestPatternSuccessed));
                    //"Set testpattern successed.");
                    //Close();
                }
                else
                {
                    MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.SetTestPatternFailed));
                    //"Sorry,Set testpattern failed,please try again.");
                }
            },
                testPattern);

            //using (TestPattern dlg = new TestPattern())
            //    dlg.ShowModalDialog();
        }
예제 #18
0
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            UfeFileMessageConverter converter = new UfeFileMessageConverter();

            IDataProvider <ProjectInfo> Provider;

            Provider             = new DataProvider();
            LibraryGroup.Current = Provider.Get().LibraryGroups[0];

            MessageInfo message = LibraryGroup.Current.Messages.GetByName("text");
            SignInfo    sign    = new SignInfo();

            sign.Width     = 100;
            sign.Height    = 64;
            converter.Sign = sign;
            converter.Convert(message);
            converter.Generate();
            //IDataProvider<ProjectInfo> Provider;
            //Provider = new DataProvider();
            //LibraryGroup.Current = Provider.Get().LibraryGroups[0];

            //MessageInfo message = LibraryGroup.Current.Messages.GetByName("a");
            //MessageSaver manager = new MessageSaver();
            //Size newSign = new Size(100, 200);
            ////manager.NewSize = newSign;
            //SignInfo sign = new SignInfo();
            //sign.Width = 200;
            //sign.Height = 100;
            //manager.Sign = sign;
            //manager.Item = message;
            //manager.Save();
        }
예제 #19
0
        private void Init()
        {
            ddlTempType.Properties.Items.Clear();
            ddlTempType.Properties.Items.AddRange(Enum.GetValues(typeof(TempSetType)));
            ddlTempType.SelectedIndex = 0;

            sign = ControlService.SignCombo.Current;

            TempSet tempSet = new TempSet();

            tempSet.Type  = -1;
            tempSet.Value = "";
            tempSet.Mode  = 1;

            sign.Controller.SendAsync(
                Commands.TempOffset,
                p =>
            {
                Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    int type     = p.Packet.Content.GetProperty <int>("Type");
                    string value = p.Packet.Content.GetProperty <string>("Value");

                    ddlTempType.SelectedIndex = type;
                    txtTemp.Text = value;
                }
            },
                tempSet);
        }
예제 #20
0
        /// <summary>
        /// 增加一个签到表
        /// </summary>
        /// <param name="signList"></param>
        /// <returns>true增加成功,false已存在该签到表</returns>
        public bool AddSignList(SignList signList)
        {
            SignList signListResult = gameClubEntities.SignList.Where(s => s.SignID == signList.SignID).FirstOrDefault();

            if (signListResult == null)
            {
                gameClubEntities.SaveChanges();
                gameClubEntities.SignList.Add(signList);
                gameClubEntities.SaveChanges();

                foreach (var item in gameClubEntities.GameMember.Where(g => g.IsDel != true))
                {
                    SignInfo signInfo = new SignInfo
                    {
                        SignID         = signList.SignID,
                        GameID         = item.GameID,
                        SignCondition  = "未签到",
                        VoiceCondition = "未语音",
                        IsLeave        = false,
                    };
                    gameClubEntities.SignInfo.Add(signInfo);
                }
                gameClubEntities.SaveChanges();
                EFUserRecord.AddUserOperateRecord("添加签到表ID为" + signList.SignID + "的签到表信息");
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #21
0
        public GetStatus(SignInfo sign)
        {
            InitializeComponent();
            string filePath = Constance.AppPath + sign.Name + ".xml";

            this.webBrowser1.Url = new System.Uri(filePath, System.UriKind.Absolute);
        }
예제 #22
0
        //新增
        public int Add(JObject json)
        {
            SignInfo signInfo = JsonConvert.DeserializeObject <SignInfo>(json.ToString());

            db.Insert(signInfo);
            return(1);
        }
예제 #23
0
        private void ExecuteCommand(Commands cmd)
        {
            if (ControlService.SignCombo.Current == null)
            {
                MsgBox.Warning(Resources.Resource.GetString(Resources.Resource.Strings.AddNewSignFirst));
                return;
            }
            SignInfo sign = ControlService.SignCombo.Current;

            Cursor.Current = Cursors.WaitCursor;
            //Send reboot command to UFE
            this.richTextBox1.Text += DateTime.Now.ToString() + ":   Begin send " + cmd.ToString() + "\n";
            sign.Controller.SendAsync(cmd, p =>
            {
                Cursor.Current = Cursors.Default;
                if (!p.IsSuccessed)
                {
                    if (p.Packet.HasError)
                    {
                        this.richTextBox1.Text += DateTime.Now.ToString() + ":   " + p.Packet.ActionError.Message + "\n";
                    }
                    if (p.Exception != null)
                    {
                        this.richTextBox1.Text += DateTime.Now.ToString() + ":   " + p.Exception.Message + "\n";
                    }
                }
                else
                {
                    this.richTextBox1.Text += DateTime.Now.ToString() + ":   " + cmd.ToString() + " Successed. \n";
                    if (cmd == Commands.GetConnectionType)
                    {
                        this.richTextBox1.Text += DateTime.Now.ToString() + ":   Receive content:{Type:"
                                                  + p.Packet.Content.GetProperty <int>("Type")
                                                  + " Port:"
                                                  + p.Packet.Content.GetProperty <string>("Port")
                                                  + "}\n";
                    }
                    if (cmd == Commands.GetSerialInfo)
                    {
                        this.richTextBox1.Text += DateTime.Now.ToString() + ":   Receive content:{CXCSerialNumbe:"
                                                  + p.Packet.Content.GetProperty <string>("CXCSerialNumbe")
                                                  + " SalesOrderNumber:"
                                                  + p.Packet.Content.GetProperty <string>("SalesOrderNumber")
                                                  + " ModulePartNumber:"
                                                  + p.Packet.Content.GetProperty <string>("ModulePartNumber")
                                                  + " CXCPartNumber:"
                                                  + p.Packet.Content.GetProperty <string>("CXCPartNumber")
                                                  + " FirmwareVersionNumber:"
                                                  + p.Packet.Content.GetProperty <string>("FirmwareVersionNumber")
                                                  + " FPGAVersionNumber:"
                                                  + p.Packet.Content.GetProperty <string>("FPGAVersionNumber")
                                                  + " MAVersionNumber:"
                                                  + p.Packet.Content.GetProperty <string>("MAVersionNumber")
                                                  + " MABuildDate:"
                                                  + p.Packet.Content.GetProperty <string>("MABuildDate")
                                                  + "}\n";
                    }
                }
            });
        }
예제 #24
0
        private bool RefreshCameraPic(SignInfo sign)
        {
            try
            {
                string sourceURL = "http://10.10.65.72/axis-cgi/jpg/image.cgi?resolution=640x480";
                if (!string.IsNullOrEmpty(sign.WebCamAddress))
                {
                    sourceURL = "http://" + sign.WebCamAddress + "/axis-cgi/jpg/image.cgi?resolution=640x480";
                }
                byte[] buffer = new byte[100000];

                int read, total = 0;

                // create HTTP request

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sourceURL);
                string         use = "root";
                string         pwd = "root";
                if (!string.IsNullOrEmpty(sign.WebCamUserName))
                {
                    use = sign.WebCamUserName;
                }
                if (!string.IsNullOrEmpty(sign.WebCamPwd))
                {
                    pwd = sign.WebCamPwd;
                }
                req.Credentials = new NetworkCredential(use, pwd);
                // get response
                WebResponse resp = req.GetResponse();
                // get response stream

                Stream stream = resp.GetResponseStream();

                // read data from stream

                while ((read = stream.Read(buffer, total, 1000)) != 0)
                {
                    total += read;
                }
                // get bitmap
                Bitmap bmp = (Bitmap)Bitmap.FromStream(
                    new MemoryStream(buffer, 0, total));

                string path    = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\ProWrite\\Image\\";
                string name    = Guid.NewGuid().ToString() + ".jpg";
                string oldName = sign.Image;
                //picLiveView.Image = IOHelper.GetImageFromFile(path + "Image\\" + strImage);
                IOHelper.SetFileAttribute(path + name, FileAttributes.Normal);
                IOHelper.SaveImage(bmp, path + name);
                //bmp.Save(path + name);
                //File.Delete(path + oldName);
                sign.ImageWebCam = name;
                picWebCam.Image  = bmp;
                lblNA.Text       = DateTime.Now.GetDateTimeFormats()[69];
                sign.LastUpdate  = lblNA.Text;

                return(true);
            }
            catch { return(false); }
        }
예제 #25
0
        private void Init()
        {
            ddlDimmingType.Properties.Items.Clear();
            ddlDimmingType.Properties.Items.AddRange(Enum.GetValues(typeof(DimmingType)));
            ddlDimmingType.SelectedIndex = 0;

            sign = ControlService.SignCombo.Current;
            DimmingSet dimming = new DimmingSet();

            dimming.StartTime = "";
            dimming.EndTime   = "";

            dimming.Mode    = 1;
            dimming.DimType = -1;
            dimming.Value   = -1;
            //Send get dimming state command
            sign.Controller.SendAsync(
                Commands.Dimming,
                p =>
            {
                Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    int dimtype = p.Packet.Content.GetProperty <int>("DimType");
                    int value   = p.Packet.Content.GetProperty <int>("Value");
                    try
                    {
                        //ddlDimmingType.SelectedIndex = dimtype;
                        spinDimming.Value = value;
                    }
                    catch { }
                }
            },
                dimming);
        }
예제 #26
0
        /// <summary>
        /// Test PopulateRelation Function
        /// 测试条件:树有一个子组并且子组中有一个sign
        /// 测试方法:通过XML序列化,然后反序列化,调用PopulateRelation(),查看树的关系是否存在
        /// </summary>
        //[Test]
        public void PopulateRelationTest6()
        {
            SignInfo      sign  = new SignInfo();
            SignGroupInfo group = new SignGroupInfo();

            group.Name = "group";

            sign.Name    = "sign";
            group.Parent = tree;
            sign.Parent  = group;
            SignGroupTree aa = new SignGroupTree();
            Serialiser <SignGroupTree> ser = Serialiser <SignGroupTree> .Xml;

            using (MemoryStream stream = new MemoryStream())
            {
                ser.Serialize(tree, stream);

                tree.Clear();
                stream.Position = 0;
                aa = ser.Deserialise(stream);
                stream.Close();
            }

            tree.PopulateRelation();
            Assert.AreEqual(1, aa.Groups.Length);
            Assert.AreEqual(1, aa.Groups[0].Signs.Length);
            Assert.AreEqual(0, aa.Signs.Length);
        }
예제 #27
0
        private MemoryDataProvider()
        {
            for (int i = 1; i < 6; i++)
            {
                SignInfo sign = new SignInfo();
                sign.Name = "Sign" + i;
                _entitySet.RootGroup.AddSign(sign);
            }

            for (int i = 1; i < 6; i++)
            {
                SignGroupInfo group = new SignGroupInfo();
                group.Name = "Group" + i;
                for (int j = 1; j <= i; j++)
                {
                    SignInfo sign = new SignInfo();
                    sign.Name = "Sign" + j;
                    group.AddSign(sign);
                    sign.Parent = group;

                    SignGroupInfo subGroup = new SignGroupInfo();
                    subGroup.Name = "SubGroup" + j;
                    group.AddGroup(subGroup);
                    subGroup.Parent = group;
                }
                _entitySet.RootGroup.AddGroup(group);
            }
        }
예제 #28
0
        public void AcceptChangesTest3()
        {
            SignGroupInfo[] group = new SignGroupInfo[14];
            for (int i = 0; i < group.Length; i++)
            {
                group[i]      = new SignGroupInfo();
                group[i].Name = "group" + i;

                SignInfo newsign = new SignInfo();
                newsign.Name = "sing" + i;
                if (i == 0)
                {
                    group[i].Parent = tree;
                }

                else
                {
                    group[i].Parent = group[i - 1];
                    newsign.Parent  = group[i];
                }
            }

            Assert.AreEqual(true, tree.IsChanged);
            tree.AcceptChanges();
            Assert.AreEqual(false, tree.IsChanged);
        }
예제 #29
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            sign   = ControlService.SignCombo.Current;
            DateAndTime datetime = new DateAndTime();
            var         date     = ddlDate.DateTime.ToString("MMdd")
                                   + timeEdit1.Time.ToString("HHmm")
                                   + ddlDate.DateTime.Year.ToString() + "."
                                   + timeEdit1.Time.ToString("ss");

            datetime.Mode        = 0;
            datetime.CurrentTime = date;
            string date1 = date.Substring(8, 4) + "-" + date.Substring(0, 2) + "-" + date.Substring(0, 2);
            string time  = date.Substring(4, 4) + date.Substring(date.Length - 2, 2);
            string year  = date.Substring(8, 4);

            //Send set datetime command
            sign.Controller.SendAsync(
                Commands.SetDateTime,
                p =>
            {
                Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    MsgBox.Information(Resources.Resource.GetString(Resources.Resource.Strings.SetDateTimeSuccessed));    //"Time & Date Successfully Changed.");
                    Close();
                }
                else
                {
                    MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.SetDateTimeFailed));    //"Time & Date were not changed.Please try again.");
                }
            },
                datetime);
        }
예제 #30
0
        private void Init()
        {
            ddlType.Properties.Items.Clear();
            ddlType.Properties.Items.AddRange(Enum.GetValues(typeof(TestPatternType)));
            ddlType.SelectedIndex = 0;

            sign = ControlService.SignCombo.Current;

            TestPatternEntity testPattern = new TestPatternEntity();

            testPattern.Mode = 1;

            //Send get dimming state command
            sign.Controller.SendAsync(
                Commands.TestPattern,
                p =>
            {
                Cursor = Cursors.Default;
                if (p.IsSuccessed)
                {
                    //int dimtype = p.Packet.Content.GetProperty<int>("DimType");
                    //int value = p.Packet.Content.GetProperty<int>("Value");
                    //try
                    //{
                    //    //ddlDimmingType.SelectedIndex = dimtype;
                    //    spinDimming.Value = value;
                    //}
                    //catch { }
                }
            },
                testPattern);
        }