\moduleFunctionTable
{Abonementa pieteikums}
{mod-func-premium-app}
{Abonementa pieteikums}
{MAMF01}
{
	Funckcijas mērķis ir izveidot maksājuma pieteikumu maksas abonementam, izveidojot maksas abonementa ierakstu datubāzē maksājuma apstiprināšanas gadījumā.
}
{
	Ievades dati tiek iegūti no lietotāja maksājuma pieteikuma veidlapas, apmaksājot maksas abonementu.

	Obligātie parametri:
	\begin{enumerate}
		\item Kartes īpašnieka vārds.
		      Simbolu virkne, kas var saturēt lielo un mazos burtus (a-z, A-Z) no \emph{ASCII} simbolu kopas, atstarpes, defīzes, apostrofus.
		      Maksimālais simbolu skaits ir 100 simboli.
		\item Kartes numurs - simbolu virkne, kas sastāv no cipariem un ir 16 simbolus gara.
		\item Kartes derīguma termiņš - datums, kas sastāv no gada un mēneša.
		      Pieļaujamas tikai termiņi, kas nav pirms tekošā mēneša.
		\item Kartes drošības kods.
		      Simbolu virkne no 3 cipariem.
	\end{enumerate}
}
{
	\begin{enumerate}
		\item Pārbauda, vai datubāzē neeksistē aktīvs abonements, kas ir saistīts ar lietotāju, kas veido maksājuma pieteikumu.
		\item Pārbauda, vai visi obligātie lauki ir iesniegti.
		      Ja tie nav, iegūst sarakstu ar neazpildītajiem laukiem, parāda 1. paziņojumu.
		\item Pārbauda, vai visi obligātie lauki satur tikai pieļaujamos simbolus.
		      Ja satur, tad iegūst izmantotos neatļautos simbolus, tad parāda 2. paziņojumu ar attiecīgajiem laukiem un izmantotajimem aizliegtiem simboliem.
		\item Pārbauda, vai visi obligātie lauki nepārsniedz noteikto garumu.
		      Ja satur, tad iegūst pārsniegto garumu parametru sarakstu un parāda 3. paziņojumu ar attiecīgi laukiem un garumiem.
		\item Pārbauda, vai kartes numura pirmie 4 cipari atbilst vienai no bankām, ko apstrādā maksājumu apstrādātājs.
		      Ja neatbilst, parāda 4. paziņojumu.
		\item Pārbauda, vai kartes derīguma termiņš ir pēc tekošā mēneša.
		      Ja tas ir pirms, parāda 4. paziņojumu.
		\item No datubāzes iegūst aktuālo šodienas cenu par abonementu.
		\item Sagatavo datus pieparsījumam, kas iekļauj maksājuma datus.
		      Pārveido tos maksājuma apstrādātāja pieprasītā formātā un to šifrē, izmantojot maskājumu apstrādātāja \emph{API}.
		\item Pieprasa abonementa izveidošanu, sazinoties ar maksājumu apstrādātāju.
		      Ja atbildē izveidošana netiek apstiprināta, parāda 4. paziņojumu.
		\item Ja abonementa izveidošana ir apstiprināta, izveido ierakstu ar abonementa datiem datubāzē ar maksājuma procesora atbildē saņemtu klienta identifikatoru.
	\end{enumerate}
}
{
	Izvades datu mērķis ir noteikt, vai lietotājs tiks pāradresēts.
	\begin{enumerate}
		\item Abonementa izveidošanas apstiprinājuma stāvoklis - kods ar noteiktu stāvokli.
	\end{enumerate}
}
{
	\begin{enumerate}
		\item Lauks: [neaizpildīto lauku saraksts] netika aizpildīts (/-i)!
		\item {}[Parametra nosaukums] nedrīkst saturēt: [izmantoto parametra neatļauto simbolu saraksts]!
		\item {}[Parametra nosaukums] nedrīkst pārsniegt [noteikto parametra maksimālo simbolu skaits]!
		\item Notika sistēmas iekšējā kļūda! Mēģiniet vēlreiz vēlāk!
		\item Abonēšana ir veiksmīga!
	\end{enumerate}
}
