示例#1
0
        //TODO:ここに、素材リストを取得するコマンドを追加する。

        public void CommandViewModelTo(FetchMaterialSiteLIst msg)
        {
            MaterialSiteListFileAdapter instance = new MaterialSiteListFileAdapter();
            var MaterialSiteNameList             = instance.GetMaterialSiteList();

            msg.MaterialSiteList = MaterialSiteNameList;
        }
示例#2
0
        public void CommandViewModelTo(ExportLicenseText cmd)
        {
            //今のところ全てのデータを一気に読み込んで処理する形としている。
            //ただ将来的にデータ量が多くなった場合、処理に限界が来る可能性がある。
            //素材名だけ読み込むようにすることで幾分か処理は低減できるが、そこまでするくらいなら
            //素直にデータベースを使ったほうがいいだろう

            ExportingLicenseText        Instance             = new ExportingLicenseText(cmd.ExportedLicenseTextFileAbsolutePath);
            MaterialSiteListFileAdapter MaterialSiteInstance = new MaterialSiteListFileAdapter();
            MaterialListFileAdapter     MaterialInstance     = new MaterialListFileAdapter();

            var AllMaterialData = new List <MaterialData>();
            var SiteNameList    = new List <string>();

            MaterialInstance.GetMaterialList(AllMaterialData);

            //取り出した全素材データから、サイト名のみを取り出す。
            foreach (var FetchedMaterialData in AllMaterialData)
            {
                SiteNameList.Add(FetchedMaterialData.MaterialCreationSiteName);
            }

            //重複したサイト名を削除する(実際の削除動作は下のfor文)
            IEnumerable <string> DistinctedResult = SiteNameList.Distinct();


            var list = MaterialSiteInstance.GetLicenseTextLists(DistinctedResult);

            string strs = "";

            foreach (var str in list)
            {
                strs += (str + '\n');
            }

            if (SiteNameList.Count == 0)
            {
                cmd.ErrorNum = -1;
                return;
            }


            Instance.WriteLicenseTextFile(cmd.HeaderText + '\n' + strs + cmd.FooterText);
        }