import type { IDecisionData, IGenerate, IMetaDocument, IUHDContract } from '../../document'
import type { ICommonProgram, ICommonRequest, ICommonUser, ICooperativeData, IFirstLastMiddleName, IVars } from '../../model'
import type { IBankAccount } from '../../payments'
import type { IEntrepreneurData, IIndividualData, IOrganizationData } from '../../users'

export const registry_id = 1000

// Модель действия для генерации
export interface Action extends IGenerate {
  registry_id: number
  subject?: string
  terms?: string
}

// Модель данных документа
export interface Model {
  meta: IMetaDocument
  coop: ICooperativeData
  vars: IVars
  subject: string
  terms: string
  uhdContract: IUHDContract
  user: ICommonUser
  coopBankAccount: IBankAccount
  type: string // individual | entrepreneur | organization

  individual?: IIndividualData
  organization?: IOrganizationData
  entrepreneur?: IEntrepreneurData

  organizationBankAccount?: IBankAccount
  entrepreneurBankAccount?: IBankAccount
}

export const title = 'Договор участия в хозяйственной деятельности'
export const description = 'Форма договора участия в хозяйственной деятельности'
export const context = '<div class="digital-document"><div style="text-align: right; margin:">\n<p style="margin: 0px !important">{% trans \'APPROVED\' %}</p>\n<p style="margin: 0px !important">{% trans \'protocol\' %} {{ vars.investment_agreement.protocol_number }}</p>\n<p style="margin: 0px !important">{{vars.short_abbr}} «{{vars.name}}»</p>\n<p style="margin: 0px !important">{% trans \'from\' %} {{ vars.investment_agreement.protocol_day_month_year }}</p>\n</div>\n<div><p>{{ meta.created_at }}</p><p style="text-align: right">{{coop.city}}</p>\n</div>\n<div style="text-align: center">\n<h1 class="header"> {% trans \'PROVISION\' %}</h1>\n<p class="subheader">{% trans \'economic_activities_agreement\', uhdContract.number %}</p>\n</div>\n<p>{{vars.full_abbr}} «{{vars.name}}» {% trans \'coop_agreement_intro_1\' %} {{coop.chairman.last_name}} {{coop.chairman.first_name}} {{coop.chairman.middle_name}}, {% trans \'coop_agreement_intro_2\' %} {{user.full_name_or_short_name}}, {% trans \'coop_agreement_intro_3\' %}</p>\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_1\' %}</h3>\n</div>\n<p>{{terms}}</p>\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_2\' %}</h3>\n</div>\n<p>{{subject}}</p>\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_3\' %}</h3>\n</div>\n<p>{% trans \'coop_agreement_3_text\', uhdContract.number %}</p>\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_4\' %}</h3>\n</div>\n<p>{% trans \'coop_agreement_4_text\', uhdContract.number %}</p>\n\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_5\' %}</h3>\n</div>\n<p>{% trans \'coop_agreement_5_text\' %}</p>\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_6\' %}</h3>\n</div>\n<p>{% trans \'coop_agreement_6_text\' %}</p>\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_7\' %}</h3>\n</div>\n<p>{% trans \'coop_agreement_7_text\' %}</p>\n<div style="text-align: left">\n<h3>{% trans \'coop_agreement_8\' %}</h3>\n<div style="text-align: left">\n<p>{% trans \'coop_agreement_8_text\' %}</p>\n\n\n<h3>{% trans \'coop_agreement_9\' %}</h3>\n<div>\n<p>{% trans \'cooperative\' %}</p>\n<table>\n    <tbody>\n        <tr>\n            <th></th>\n            <td>{{ vars.full_abbr }} «{{ vars.name }}»</td>\n        </tr>\n        <tr>\n            <th>{% trans \'inn\' %}</th>\n            <td>{{ coop.details.inn }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'kpp\' %}</th>\n            <td>{{ coop.details.kpp }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'ogrn\' %}</th>\n            <td>{{ coop.details.ogrn }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'full_address\' %}</th>\n            <td>{{ coop.full_address }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'fact_address\' %}</th>\n            <td>{{ coop.fact_address }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'phone\' %}</th>\n            <td>{{ coop.phone }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'email\' %}</th>\n            <td>{{ coop.email }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'account_number\' %}</th>\n            <td>{{ coopBankAccount.account_number }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'bank_name\' %}</th>\n            <td>{{ coopBankAccount.bank_name }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'bik\' %}</th>\n            <td>{{ coopBankAccount.details.bik }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'corr\' %}</th>\n            <td>{{ coopBankAccount.details.corr }}</td>\n        </tr>\n    </tbody>\n</table>\n</div>\n\n<div>\n{% trans \'participant\' %}\n\n{% if type == \'organization\' %}\n<table>\n    <tbody>\n        <tr>\n            <th></th>\n            <td>{{ organization.full_name }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'inn\' %}</th>\n            <td>{{ organization.details.inn }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'kpp\' %}</th>\n            <td>{{ organization.details.kpp }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'ogrn\' %}</th>\n            <td>{{ organization.details.ogrn }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'full_address\' %}</th>\n            <td>{{ organization.full_address }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'fact_address\' %}</th>\n            <td>{{ organization.fact_address }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'phone\' %}</th>\n            <td>{{ organization.phone }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'email\' %}</th>\n            <td>{{ organization.email }}</td>\n        </tr>\n    </tbody>\n</table>\n\n{% elif type == \'entrepreneur\' %}\n<table>\n    <tbody>\n        <tr>\n            <th></th>\n            <td>{% trans \'IP\' %} {{ entrepreneur.last_name }} {{ entrepreneur.first_name }} {{ entrepreneur.middle_name }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'inn\' %}</th>\n            <td>{{ entrepreneur.details.inn }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'ogrnip\' %}</th>\n            <td>{{ entrepreneur.details.ogrn }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'full_address\' %}</th>\n            <td>{{ entrepreneur.full_address }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'phone\' %}</th>\n            <td>{{ entrepreneur.phone }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'email\' %}</th>\n            <td>{{ entrepreneur.email }}</td>\n        </tr>\n    </tbody>\n</table>\n\n{% elif type == "individual" %}\n<table>\n    <tbody>\n        <tr>\n            <th></th>\n            <td>{{ individual.last_name}} {{individual.first_name}} {{individual.middle_name}}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'phone\' %}</th>\n            <td>{{ individual.phone }}</td>\n        </tr>\n        <tr>\n            <th>{% trans \'email\' %}</th>\n            <td>{{ individual.email }}</td>\n        </tr>\n    </tbody>\n</table>\n\n{% endif %}\n\n<p>{% trans \'signed\' %}</p>\n\n</div>\n<style>\n.digital-document {\npadding: 20px;\nwhite-space: pre-wrap;\n}\ntable {\n  width: 100%;\n  border-collapse: collapse;\n}\nth, td {\n  border: 1px solid #ccc;\n  padding: 8px;\n  text-align: left;\n  word-wrap: break-word; \n  overflow-wrap: break-word; \n}\nth {\n  background-color: #f4f4f4;\n  width: 30%;\n}\n</style>\n'

export const translations = {
  ru: {
    APPROVED: 'УТВЕРЖДЕНО',
    protocol: 'Протоколом Совета №',
    from: 'от',
    PROVISION: 'ДОГОВОР',
    coop_agreement_intro_1: 'в лице Председателя Совета ',
    coop_agreement_intro_2: 'действующий на основании Устава, далее именуемый "Общество" и',
    coop_agreement_1: '1.\tТЕРМИНЫ И ОПРЕДЕЛЕНИЯ',
    coop_agreement_2: '2.\tПРЕДМЕТ ДОГОВОРА',
    coop_agreement_3: '3.\tПОРЯДОК ПРИЕМА-ПЕРЕДАЧИ ИМУЩЕСТВА',
    coop_agreement_3_text: '3.1. Пайщик имеет право внесения Имущества и Денежных Средств в паевой фонд Общества в качестве своего Паевого взноса в рамках Предмета настоящего Договора в любое время, направив в Совет Общества Заявление с указанием номера и даты настоящего Договора. Заявление оформляется в формате, установленным Обществом.\n3.2. Внесение Паевого взноса Денежными Средствами производится одним из предлагаемых Обществом способов платежа (наличными через кассу Общества, безналичными на расчетный счет Общества в т.ч. с использованием электронных средств оплаты, списанием с Лицевого Счета Пайщика) с указанием назначения платежа «Паевой целевой взнос в соответствии с Договором об участии в хозяйственной деятельности № {0}», номера и даты настоящего Договора. \n3.3. В случае предложения Пайщиком Имущества в качестве Паевого взноса в Общество не Денежными Средствами, Пайщик оформляет заявление в Совет Общества о внесении им Паевого взноса Имуществом, в котором Пайщик предоставляет название и описание Имущества, его характеристик, условий эксплуатации, а также выраженную в денежной оценке предложенную стоимость.\n3.4. Совет Общества может отложить принятие от Пайщика Имущества в качестве Паевого взноса в соответствии с п. 3.3. настоящего Договора, и принять Имущество Паевым взносом сразу, целиком или частично, или отказать в его принятии в качестве Паевого взноса целиком или частично.\n3.5. При предложении Пайщиком Имущества к внесению его в качестве Паевого взноса, Совет Общества рассматривает такое предложение в срок до 15 (Пятнадцати) календарных дней. \n3.6. При решении Совета Общества принять Имущество Пайщика в качестве Паевого взноса, Стороны составляют и подписывают Акт приема-передачи Имущества, являющийся приложением к настоящему Договору, в котором фиксируется характеристики Имущества и его стоимость, как размер Паевого взноса в денежном выражении. \n3.7. По согласованию Сторон, из части передаваемых Пайщиком Денежных Средств в качестве Паевого взноса, может формироваться Членский взнос Пайщика, который направляется в Фонды Общества для покрытия затрат на цели их использования.',
    coop_agreement_4_text: '4.1. Пайщик, чье имущество принято в качестве Паевого взноса в Общество, имеет безусловное право получить возврат своего Паевого взноса, как целиком (при выходе из состава пайщиков Общества), так и частично в соответствии с индивидуальными условиями и графиком, зафиксированными в приложениях к настоящему Договору, являющихся его неотъемлемыми частями.\n4.2. Для возврата Паевого взноса или его части, согласованного Сторонами в приложениях к настоящему Договору в рамках графика, Пайщик направляет заявление в Совет Общества, которое рассматривается в течение 5 (пяти) рабочих дней.\n4.3. Возврат Паевого взноса или его части Пайщику в соответствии с графиком, согласованным Сторонами в приложениях к настоящему Договору, осуществляется по соглашению новации в соответствии со ст. 414 ГК РФ, то есть заменой (далее - Новация) обязательства Кооператива по возврату Паевого взноса Участника любым Имуществом, включая и Денежные средства.\n4.3.1. Пункт 4.3. настоящего Договора артикулирует действие соглашения новации между Пайщиком и Кооперативом в рамках настоящего Договора.\n4.4. Возврат Паевого взноса Пайщику производится одним из предлагаемых Обществом способов платежа (наличными через кассу Общества, безналичными на расчетный счет Пайщика в т.ч. с использованием электронных средств оплаты, начислением на Лицевой Счет Пайщика) с указанием назначения платежа «Возврат Паевого взноса в соответствии с Договором об участии в хозяйственной деятельности № {0}», номера и даты настоящего Договора.\n4.5. В случае, если Пайщик выходит или исключен из состава пайщиков Общества и, возврат Паевого взноса Пайщику производится Имуществом или Денежными средствами, по согласованию с Обществом, равной стоимости остатка паевых взносов на ЛС Пайщика, Заявление Пайщика возврате Паевого взноса в полном размере рассматривается Советом Общества в течение 30 (тридцати) календарных дней. Паевой взнос возвращается в соответствии с Уставом Общества (ст. 10.3.) в течение 330 (трехсот тридцати) дней после принятия решения Советом Общества о возврате Паевого взноса Пайщику, на реквизиты, указанные Пайщиком в заявлении на возврат Паевого взноса.',
    economic_activities_agreement: 'об участии в хозяйственной деятельности № {0}',
    coop_agreement_intro_3: 'далее именуемый(-ая) "Пайщик", далее совместно именуемые “Стороны”, заключили настоящий Договор (далее “Договор”) о нижеследующем:',
    coop_agreement_4: '4.\tПОРЯДОК И УСЛОВИЯ ВОЗВРАТА ПАЕВЫХ ВЗНОСОВ',
    coop_agreement_9: '9.\tРЕКВИЗИТЫ И ПОДПИСИ СТОРОН',
    inn: 'ИНН',
    kpp: 'КПП',
    ogrn: 'ОГРН',
    full_address: 'Юридический адрес',
    fact_address: 'Фактический адрес',
    phone: 'Контактный телефон',
    email: 'Электронная почта',
    account_number: 'Р/С',
    bank_name: 'Банк',
    bik: 'БИК',
    corr: 'Корр/счет',
    signed: 'Подписано электронной подписью.',
    participant: 'Пайщик:',
    IP: 'ИП',
    ogrnip: 'ОГРНИП',
    cooperative: 'Кооператив:',
    coop_agreement_5: '5. ПРАВА И ОБЯЗАННОСТИ СТОРОН',
    coop_agreement_5_text: '5.1. Пайщик имеет право:\n5.1.1. вносить целевые Паевые и Членские взносы Денежными Средствами в неограниченном размере и неограниченное количество раз;\n5.1.2. вносить целевые Паевые и членские взносы Имуществом в неограниченном размере и неограниченное количество раз;\n5.1.3. осуществлять возврат паевого/ых взносов в соответствии с условиями настоящего Договора.\n5.2. Пайщик обязан:\n5.2.1. соблюдать условия настоящего Договора;\n5.2.2. соблюдать условия конфиденциальности и 5.2.3. неразглашения в соответствии с параграфом 6 настоящего Договора.\n5.3. Общество обязано:\n5.3.1. соблюдать условия настоящего Договора и права Пайщика, в соответствии с настоящим Договором, другими документами Общества и действующим законодательством РФ;\n5.3.2. возвращать Пайщику его Паевой взнос в соответствии с условиями настоящего Договора и приложений к нему;\n5.3.3. возвратить Пайщику внесенные Паевые взносы в случае прекращения деятельности Общества или его ликвидации.\n5.4. Общество имеет право:\n5.4.1. не принять Имущество, предложенное Пайщиком в качестве Паевого взноса для целей и в рамках настоящего Договора;\n5.4.2. вернуть Имущество Пайщика, принятое Обществом на рассмотрение к принятию в качестве Паевого взноса в рамках настоящего Договора без претензий от Участника и каких-либо обязательств Общества.  ',
    coop_agreement_6: '6. КОНФИДЕНЦИАЛЬНОСТЬ',
    coop_agreement_6_text: '6.1. Стороны настоящего Договора обязаны соблюдать условия конфиденциальности и неразглашения в отношении Предмета настоящего Договора, Имущества Общества, а также технологических, методологических и организационных аспектов Платформы в течение действия настоящего Договора, а также в течение 5 (пяти) лет с даты прекращения действия настоящего Договора.\n6.2. Конфиденциальная информация, в соответствии с Федеральным законом от 29 июля 2004 г. №98-ФЗ «О коммерческой тайне», это информация, составляющая коммерческую тайну (секрет производства), сведения любого характера (производственные, технические, экономические, организационные и другие), в том числе о результатах интеллектуальной деятельности в научно-технической сфере, а также сведения о способах осуществления профессиональной деятельности, которые имеют действительную или потенциальную коммерческую ценность в силу неизвестности их третьим лицам, к которым у третьих лиц нет свободного доступа на законном основании и в отношении которых обладателем таких сведений введен режим коммерческой тайны (далее – Конфиденциальная информация).\n6.3. В рамках настоящего Договора под Конфиденциальной информацией подразумевается настоящая или будущая информация, относящаяся к Предмету настоящего Договора - Платформе - или техническим возможностям Раскрывающей стороны или аффилированных лиц в рамках настоящего Договора, изделиям, услугам, фактическим и аналитическим данным, заключениям и материалам, включая заметки, документацию, переписку, а также любую информацию, полученную Принимающей стороной о или от Раскрывающей стороны в ходе исполнения условий настоящего Договора.\n6.4. Разглашение конфиденциальной информации - действие или бездействие, в результате которых информация, составляющая коммерческую тайну, в любой возможной форме (устной, письменной, иной форме, в том числе с использованием технических средств) становится известной третьим лицам без согласия обладателя такой информации либо вопреки условиям настоящего Договора.\n6.5. Конфиденциальной информацией не является информация, уже являющаяся или ставшая общеизвестной законным путем, не по вине Принимающей стороны или ее аффилированных лиц.\n6.6. Принимающая сторона обязуется не раскрывать и не передавать третьим лицам любую Конфиденциальную информацию, полученную от Раскрывающей стороны или ставшую известной в ходе какой-либо совместной деятельности с Раскрывающей стороной, за исключением случаев, когда того требует Законодательство.\n6.7. В случае передачи Конфиденциальной информации в органы или учреждения государственной власти по принуждению, Принимающая сторона обязуется ограничить эту передачу требуемым минимумом и незамедлительно уведомить Раскрывающую сторону о сути этой передачи в той максимальной степени, в какой это может быть допустимо в свете обстоятельств.\n6.8. Факт предоставления Принимающей стороне доступа к Конфиденциальной информации не означает предоставления ему каких-либо прав интеллектуальной собственности и (или) лицензий в отношении Конфиденциальной информации. Настоящий Договор о неразглашении Конфиденциальной информации не предусматривает право на изготовление, заказа на изготовление, использование или продажу Конфиденциальной информации.\n6.9. Все материальные носители, на которых записана Конфиденциальная информация, представленные Принимающей стороне в соответствии с настоящим Соглашением, а также любые снятые с них копии, являются собственностью Раскрывающей стороны, и подлежат возврату и/или уничтожению Принимающей стороной в соответствии с указаниями Раскрывающей стороны. Раскрывающая сторона сохраняет право дать Принимающей стороне указание об удалении Конфиденциальной информации с принадлежащих Принимающей стороне материальных носителей, или об уничтожении данных материальных носителей, если удаление с них Конфиденциальной информации невозможно.\n',
    coop_agreement_7: '7. ФОРС МАЖОРНЫЕ ОБСТОЯТЕЛЬСТВА',
    coop_agreement_7_text: '7.1. В случае вступления в силу таких изменений в законодательство РФ, которые повлекут за собой несоответствие им условий настоящего Договора, Общество может внести в настоящий Договор такие изменения, при которых условия настоящего Договора будут соответствовать действующему на территории РФ законодательству. \n7.2. Изменения законодательства РФ, которые повлекут за собой несоответствие им условий настоящего Договора, считаются форс-мажорными обстоятельствами для Общества. \n7.3. Форс-мажорными являются также все случае которые являются форс мажорными при гражданском обороте в том числе: повреждение, порча имущества, в т. ч. созданное и приобретенное Обществом в рамках настоящего Договора, через пожар, затопление, кражу, гражданские конфликты, военные действия, комендантский час, объявленный карантин, стихийные бедствия и др.\n7.4. При наступлении форс-мажорных случаев или внесения изменений в условия ЦПП в соответствии с п. 6.1. настоящего Положения, Общество сразу уведомляет о них Пайщика.',
    coop_agreement_8: '8. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ',
    coop_agreement_8_text: '8.1. Настоящий Договор подписан в двух экземплярах, имеющих равную юридическую силу - по одному для каждой из Сторон.\n8.2. Если какое-либо положение Договора окажется недействительным (ничтожным) или незаконным по действующему законодательству, все остальные положения Договора останутся в силе, как если бы такое положение было отделено от Договора и не входило в него.\n8.3. Настоящий Договор вступает в силу с момента его утверждения Советом Общества после подписания Сторонами и действует бессрочно.\n8.4. С момента подписания Договора ранее достигнутые договоренности, равно как и подписанные иные договоры или соглашения между теми же Сторонами считаются утратившими силу.\n8.5. Все изменения и дополнения к Договору действительны только в случае их подписания обеими Сторонами и утверждения Советом Общества.\n8.6. Взаимодействие Пайщика и Общества в рамках настоящего Договора, могут проводиться дистанционно в электронном виде, в том числе и через Личный кабинет Пайщика в информационной системе Общества.\n8.7. При выходе или исключении Пайщика из Общества настоящий Договор и все его положения автоматически теряют силу, за исключением условий, изложенных в п.5.2.2. настоящего Договора.\n8.8. Все разногласия стороны решают путем переговоров.',
  },
  // ... другие переводы
}
