# encoding: utf-8

wb = xlsx_package.workbook

wb.add_worksheet(name: (@seminar.title.to_s[0..27]+'...')) do |sheet|

  row = [t('seminar_signup.signup_time')]

  row << t('seminar_signup.serial_number')

  row << t('seminar_signup.name')
  
  row << t('seminar_signup.unit')

  row << t('seminar_signup.tel')

  row << t('seminar_signup.phone')

  row << t('seminar_signup.fax')

  row << t('seminar_signup.address')

  row << t(:email)

  row << t('seminar_signup.note')

  @seminar.seminar_signup_fields.asc(:_id).each  do |rf| 
    if rf.can_muti_lang_input?
      @site_in_use_locales.each do |l|
        row << rf.title + " (#{t(l.to_s)})"
      end
    else
      row << rf.title
    end
  end
  highlight_style = wb.styles.add_style(
    :bg_color => 'ffeb3b',
    :b        => true,
    :border => { :style => :thick, :color => "000000", :edges => [:top, :left, :bottom, :right] },
    :alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}
  )
  sheet.add_row row, :style => (0...row.count).collect{ highlight_style }
  date_time_style = wb.styles.add_style({:format_code => 'yyyy/mm/dd hh:mm', :alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}})
  wrap_text_style = wb.styles.add_style({:alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}})
  types = [:time]
  styles = [date_time_style]
  @seminar_signups.each_with_index do |signup, i|
    row2 = []
    row2 << signup.created_at
    row2 << "#{signup.display_serial_number}"
    row2 << "#{signup[:name]} "
    row2 << "#{signup.unit} "
    row2 << "#{signup[:tel]} "
    row2 << "#{signup[:phone]} "
    row2 << "#{signup[:fax]} "
    row2 << "#{signup.address} "
    row2 << "#{signup[:email]} "
    row2 << "#{signup.note} "
    @seminar.seminar_signup_fields.asc(:_id).each  do |rf| 
      if rf.can_muti_lang_input?
        @site_in_use_locales.each do |l|
          row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(l) rescue '')
        end
      else
        row2 << (@seminar.get_attribute_value(rf,signup.id).get_value_by_locale(I18n.locale) rescue '')
      end
    end
    if i == 0
      (0...(row2.count - 1)).each do |i|
        types << :string
        styles << wrap_text_style
      end
    end
    sheet.add_row row2 , :types => types, :style => styles
  end

end

