Esempio n. 1
0
        /// <summary>
        /// Exports to CSV2.
        /// </summary>
        /// <param name="dt">The dt.</param>
        /// <param name="publicityLevel">The publicity level.</param>
        /// <param name="ownOrgId">The own org id.</param>
        /// <returns></returns>
        private static string CreateCsvFromPrograms(DataTable dt, int publicityLevel, Guid ownOrgId)
        {
            string EndOfLine = "\n";
              string separator = ";";
              string separator5 = ";;;;;";
              StringBuilder rtfString = new StringBuilder();

              // Build csv header row
              rtfString.Append("Program neve;");
              rtfString.Append("Program típusa;");
              rtfString.Append("Szervezet;");
              rtfString.Append("Felelõs;");
              rtfString.Append("Koordinátor1;");
              rtfString.Append("Koordinátor2;");
              rtfString.Append("Program státusza;");
              rtfString.Append("Program kezdete;");
              rtfString.Append("Program vége;");
              rtfString.Append("A program részletes leírása;");

              rtfString.Append("Résztvevõ szakember neve;");
              rtfString.Append("E-mail cím;");
              rtfString.Append("Cím;");
              rtfString.Append("Telefonszám;");
              rtfString.Append("Partner szervezet neve;");
              rtfString.Append("Címe;");
              rtfString.Append("Honlap;");
              rtfString.Append("Megye;");
              rtfString.Append("Szervezeti forma;");
              rtfString.Append("Csatolt dokumentum neve;");
              rtfString.Append("Fájlnév;");
              rtfString.Append("Dátum;");
              rtfString.Append("Fájlméret;\n");

              foreach (DataRow dr in dt.Rows)
              {
            Guid progId = new Guid(dr["uID"].ToString());
            //Program prg = (Program)doc;
            StringBuilder line = new StringBuilder();
            int maxCount = 0; //letároljuk a maximális elemszámot -> ennyi sora lesz az adott programnak

            ExpertService srvExpert = new ExpertService();
            //Expert responsible = srvExpert.ExpertSelect(prg.ResponsibleRef);
            //Expert coordinator1 = srvExpert.ExpertSelect(prg.Coordinator1Ref);
            //Expert coordinator2 = srvExpert.ExpertSelect(prg.Coordinator1Ref);

            //elsõ sor összeállítása
            line.Append(Helper.CsvCheck(dr["cName"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cProgramCategory"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cOrganisationName"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cResponsibleName"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cCoord1Name"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cCoord2Name"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cProgramStatus"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cStartDate"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cFinishDate"].ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(dr["cDescription"].ToString()));
            line.Append(separator);

            #region Résztvevõ szakemberek lekérdezése

            ExpertDispsetContainer contExpert = srvExpert.ExpertSelectParticipantsOfProgram(progId);

            if (contExpert.AllCount > maxCount) maxCount = contExpert.AllCount;

            if (contExpert.AllCount > 0)
            {
              ExpertDispset firstExpert = (ExpertDispset) contExpert.All.Items[0];
              line.Append(Helper.CsvCheck(firstExpert.Name));
              line.Append(separator);
              if (publicityLevel != 0)
              {
            line.Append(Helper.CsvCheck(firstExpert.Email1 + " " + firstExpert.Email2 + " " + firstExpert.Email3));
            line.Append(separator);
              }
              else
              {
            line.Append(separator);
              }
              line.Append(Helper.CsvCheck(firstExpert.Address));
              line.Append(separator);
              line.Append(Helper.CsvCheck(firstExpert.Phone1 + " " + firstExpert.Phone2 + " " + firstExpert.Phone3));
              line.Append(separator);
            }
            else
            {
              line.Append(separator);
              line.Append(separator);
              line.Append(separator);
              line.Append(separator);
            }

            #endregion

            #region Partner szervezetek lekérdezése

            OrganisationService srvOrg = new OrganisationService();
            OrganisationDispsetContainer contDispOrg = srvOrg.OrganisationSelectPartnersOfProgram(progId);

            if (contDispOrg.AllCount > maxCount) maxCount = contDispOrg.AllCount;

            if (contDispOrg.AllCount > 0)
            {
              OrganisationDispset firstDispOrg = (OrganisationDispset) contDispOrg.All.Items[0];
              line.Append(Helper.CsvCheck(firstDispOrg.Name));
              line.Append(separator);
              line.Append(Helper.CsvCheck(firstDispOrg.Address));
              line.Append(separator);
              line.Append(Helper.CsvCheck(firstDispOrg.HomePage));
              line.Append(separator);

              RegionService srvRegion = new RegionService();
              line.Append(Helper.CsvCheck(srvRegion.RegionSelect(firstDispOrg.RegionRef).Name));
              line.Append(separator);

              OrganisationFormService srvOrgForm = new OrganisationFormService();
              line.Append(Helper.CsvCheck(srvOrgForm.OrganisationFormSelect(firstDispOrg.OrganisationFormRef).Name));
              line.Append(separator);
            }
            else
            {
              line.Append(separator);
              line.Append(separator);
              line.Append(separator);
              line.Append(separator);
              line.Append(separator);
            }

            #endregion

            #region Csatolt dokumentumok lekérdezése

            ProgramAttachmentService srvProgAttach = new ProgramAttachmentService();
            ProgramAttachmentDispsetContainer contDispProgAttach =
              srvProgAttach.ProgramAttachmentSelectAttachmentsOfProgram(progId);

            if (contDispProgAttach.AllCount > maxCount) maxCount = contDispProgAttach.AllCount;

            if (contDispProgAttach.AllCount > 0)
            {
              ProgramAttachmentDispset firstDispProgAttach = (ProgramAttachmentDispset) contDispProgAttach.All.Items[0];

              line.Append(Helper.CsvCheck(firstDispProgAttach.Name.ToString()));
              line.Append(separator);
              line.Append(Helper.CsvCheck(firstDispProgAttach.Path.ToString()));
              line.Append(separator);
              line.Append(Helper.CsvCheck(firstDispProgAttach.CreatedDate.ToString()));
              line.Append(separator);
              line.Append(Helper.CsvCheck(firstDispProgAttach.FileSize.ToString()));
              line.Append(separator);
            }
            else
            {
              line.Append(separator);
              line.Append(separator);
              line.Append(separator);
              line.Append(separator);
            }

            #endregion

            #region Kérdõívek lekérdezése (kérdések/válaszok)

            //ITemplateService srvTemplate = ServiceFactory.GetTemplateService();
            TemplateContainer contTemplate = null;

            #endregion

            rtfString.Append(line);
            rtfString.Append(EndOfLine);
            line = new StringBuilder(); //új sor

            bool IsBinate = false;

            //többi sor
            for (int i = 1; i < maxCount; i++)
            {
              //ha nincs kérdõív akkor kiugrunk
              if ((maxCount == 1) && (contTemplate.AllCount == 0))
              {
            rtfString.Append(line);
            rtfString.Append(EndOfLine);
            break;
              }

              IsBinate = !IsBinate;
              line.Append(separator5);
              line.Append(separator5);

              #region a többi résztvevõ szakember hozzáadása

              if (contExpert.AllCount > i)
              {
            ExpertDispset firstExpert = (ExpertDispset) contExpert.All.Items[i];
            line.Append(Helper.CsvCheck(firstExpert.Name));
            line.Append(separator);
            if (publicityLevel != 0)
            {
              line.Append(Helper.CsvCheck(firstExpert.Email1 + " " + firstExpert.Email2 + " " + firstExpert.Email3));
              line.Append(separator);
            }
            else
            {
              line.Append(separator);
            }

            line.Append(Helper.CsvCheck(firstExpert.Address));
            line.Append(separator);
            line.Append(Helper.CsvCheck(firstExpert.Phone1 + " " + firstExpert.Phone2 + " " + firstExpert.Phone3));
            line.Append(separator);
              }
              else
              {
            line.Append(separator);
            line.Append(separator);
            line.Append(separator);
            line.Append(separator);
              }

              #endregion

              #region a többi partner szervezetek lekérdezése

              if (contDispOrg.AllCount > i)
              {
            OrganisationDispset firstDispOrg = (OrganisationDispset) contDispOrg.All.Items[i];
            line.Append(Helper.CsvCheck(firstDispOrg.Name));
            line.Append(separator);
            line.Append(Helper.CsvCheck(firstDispOrg.Address));
            line.Append(separator);
            line.Append(Helper.CsvCheck(firstDispOrg.HomePage));
            line.Append(separator);

            IRegionService srvRegion = new RegionService();

            if (!firstDispOrg.RegionRef.IsNull)
            {
              line.Append(Helper.CsvCheck(srvRegion.RegionSelect(firstDispOrg.RegionRef).Name));
              line.Append(separator);
            }

            IOrganisationFormService srvOrgForm = new OrganisationFormService();
            line.Append(Helper.CsvCheck(srvOrgForm.OrganisationFormSelect(firstDispOrg.OrganisationFormRef).Name));
            line.Append(separator);
              }
              else
              {
            line.Append(separator5);
              }

              #endregion

              #region a többi csatolt dokumentumok lekérdezése

              if (contDispProgAttach.AllCount > i)
              {
            ProgramAttachmentDispset firstDispProgAttach = (ProgramAttachmentDispset) contDispProgAttach.All.Items[i];

            line.Append(Helper.CsvCheck(firstDispProgAttach.Name.ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(firstDispProgAttach.Path.ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(firstDispProgAttach.CreatedDate.ToString()));
            line.Append(separator);
            line.Append(Helper.CsvCheck(firstDispProgAttach.FileSize.ToString()));
            line.Append(separator);
              }
              else
              {
            line.Append(separator);
            line.Append(separator);
            line.Append(separator);
            line.Append(separator);
              }

              #endregion

              #region Kérdõívek válaszok hozzáadása

              #endregion

              rtfString.Append(line);
              rtfString.Append(EndOfLine);
              line = new StringBuilder(); //új sor
            }
              }

              return rtfString.ToString();
        }