Exemple #1
0
        /// <summary>
        /// get records of 1 beacon
        /// </summary>
        /// <param name="b"></param>
        /// <param name="leuname"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        public static List <List <string> > getrecordfrombeacon(LEU_filtered_values.leu.BEACON b, string leuname, string path, bool hasBin)
        {
            List <List <string> > pagedata = new List <List <string> >();

            {
                foreach (LEU_filtered_values.leu.BEACON.MESSAGE msg in b.msgList)
                {
                    List <string> record = new List <string>();
                    record.Add(leuname);
                    record.Add(b.NAME);
                    record.Add(b.ID);
                    record.Add(b.Variants_inputs);
                    record.Add(msg.Combined_sections.getReportString());
                    record.Add(msg.VarState);
                    record.Add(msg.getReportMsgString());
                    record.Add(string.Empty);//the last one is compiled message

                    pagedata.Add(record);
                }
                //modify default msg(items and order)
                {
                    List <string> defaultmsg = pagedata[0].DeepCopy();
                    pagedata.RemoveAt(0);
                    defaultmsg.RemoveAt(5); //default not need Combined_sections
                    defaultmsg.RemoveAt(4); //default not need Variants_inputs
                    pagedata.Add(defaultmsg);
                }
                //modify the compiled message
                if (hasBin)
                {
                    string        tgm     = $"{path}//{leuname}//telgen_{b.outNum}.TGM";
                    List <string> msglist = CIReportExcel.readcompiledmsg(tgm, (ushort)b.msgList.Count);
                    for (int i = 0; i < pagedata.Count(); ++i)
                    {
                        if (msglist.Count() > i)
                        {
                            pagedata[i].RemoveAt(pagedata[i].Count - 1);
                            pagedata[i].Add(msglist[i]);
                        }
                    }
                }
                //add null row of each beacon
                pagedata.Add(null);
            }
            return(pagedata);
        }
Exemple #2
0
 public BasicBeacon(LEU_filtered_values.leu.BEACON b)
 {
     ID   = b.ID;
     Name = b.NAME;
     Type = b.TYPE;
 }