Example #1
0
        //------------------------------------------------------------------------------------------
        public bool LoadFromFile(string p)
        {
            bool ret = false;

            if (data == null)
            {
                return(false);
            }
            try
            {
                if (File.Exists(p) == true)
                {
                    string str = File.ReadAllText(p, Encoding.GetEncoding("utf-8"));


                    dynamic ardj = DynamicJson.Parse(str);

                    if (ardj.header != D_Header)
                    {
                        return(ret);
                    }
                    if (ardj.cellCount < 6)
                    {
                        return(ret);
                    }
                    if (ardj.frameCount < 6)
                    {
                        return(ret);
                    }
                    int c = (int)ardj.cellCount;
                    int f = (int)ardj.frameCount;

                    string[] cap = (string[])ardj.caption;

                    double[][][] cell = (double[][][])ardj.cell;

                    if (cap.Length != c)
                    {
                        return(ret);
                    }
                    if (cell.Length != c)
                    {
                        return(ret);
                    }

                    data.ClearDellData();

                    data.SetSize(c, f);
                    data.PageSec   = (TSPageSec)ardj.pageSec;
                    data.FrameRate = (TSFps)ardj.frameRate;
                    data.SheetName = ardj.sheetName;

                    data.CREATE_USER  = ardj.CREATE_USER;
                    data.UPDATE_USER  = ardj.UPDATE_USER;
                    data.CREATE_TIME  = DateTime.Parse(ardj.CREATE_TIME);
                    data.UPDATE_TIME  = DateTime.Parse(ardj.UPDATE_TIME);
                    data.TITLE        = ardj.TITLE;
                    data.SUB_TITLE    = ardj.SUB_TITLE;
                    data.OPUS         = ardj.OPUS;
                    data.SCECNE       = ardj.SCECNE;
                    data.CUT          = ardj.CUT;
                    data.CAMPANY_NAME = ardj.CAMPANY_NAME;

                    data.SetCellCaption(cap);


                    for (int i = 0; i < cell.Length; i++)
                    {
                        int[] ary = new int[f];
                        for (int j = 0; j < f; j++)
                        {
                            ary[j] = -100;
                        }
                        int ll = cell[i].Length;
                        for (int j = 0; j < ll; j++)
                        {
                            ary[(int)cell[i][j][0]] = (int)cell[i][j][1];
                        }

                        if (ary[0] <= -100)
                        {
                            ary[0] = 0;
                        }
                        for (int j = 1; j < f; j++)
                        {
                            if (ary[j] <= -100)
                            {
                                ary[j] = ary[j - 1];
                            }
                        }
                        data.SetCellLayer(i, ary);
                    }

                    ret = true;
                }
            }
            catch
            {
                ret = false;
            }
            return(ret);
        }