
    .~)i3'                     0    S SK J r   S SKJr   " S S5      rg)    )datetime)CustomerModelc                   <    \ rS rSrS rS
S jrS rS rS rS r	S	r
g)CustomerClass   c                     Xl         g )Ndb)selfr
   s     TC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\classes\customer_class.py__init__CustomerClass.__init__   s        Nc                     U R                   R                  [        R                  [        R                  [        R
                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                   [        R"                  [        R$                  [        R&                  5      nUR)                  [        R                  S:H  5      nU(       aU  UR+                  5       (       a@  UR)                  [        R                  R-                  SUR+                  5        S35      5      nU(       aU  UR+                  5       (       a@  UR)                  [        R                  R-                  SUR+                  5        S35      5      nU(       aU  UR+                  5       (       a@  UR)                  [        R                  R-                  SUR+                  5        S35      5      nUR/                  [        R                  R1                  5       5      nUS:  Ga  UR3                  5       nXr-   S-
  U-  nUS:  d  X:  a  SSUU/ S.$ UR5                  US-
  U-  5      R7                  U5      R9                  5       n	U	 V
s/ s GH<  n
0 SU
R                  _SU
R                  _SU
R
                  _SU
R                  _S	U
R                  _S
U
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                   _SU
R"                  (       a  U
R"                  R;                  S5      OS _SU
R$                  (       a  U
R$                  R;                  S5      OS _SU
R&                  (       a  U
R&                  R;                  S5      OS _PGM?     nn
UUUUUS.$ UR9                  5       n	U	 V
s/ s GHI  n
0 SU
R                  _SU
R                  _SU
R
                  _SU
R                  _S	U
R                  _S
U
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                  _SU
R                   _SU
R"                  (       a  U
R"                  R;                  S5      OS _SU
R$                  (       a  U
R$                  R;                  S5      OS _SU
R&                  (       a  U
R&                  R;                  S5      OS _PGML     nn
U$ s  sn
f s  sn
f ! [<         a  n[?        U5      nSUS.s S nA$ S nAff = f)Nr   %   )total_itemstotal_pagescurrent_pageitems_per_pagedataid
country_id	region_id
commune_id
package_idbill_or_ticket_ididentification_numbernames	lastnamesaddresscompany_namephoneemaillicense_time%Y-%m-%d
added_date%Y-%m-%d %H:%M:%Supdated_datedeleted_status_iderrorstatusmessage) r
   queryr   r   r   r   r   r   r   r*   r   r   r    r!   r"   r#   r$   r%   r'   r)   filterstriplikeorder_bydesccountoffsetlimitallstrftime	Exceptionstr)r   pager   r   r   r"   r/   r   r   r   customerserialized_dataeerror_messages                 r   get_allCustomerClass.get_all   s   i	AGGMM  ((''((((////33##''%%**####**((**#E* LL!@!@A!EFE %)>)D)D)F)F]%H%H%M%MPQRgRmRmRoQppqNr%st]%8%8%=%=%++-PQ>R%ST 2 2 4 4]%?%?%D%DqI[I[I]H^^_E`%abNN=#3#3#8#8#:;Eax#kkm*;a?NR!8t1'('((,*8 "  ||TAX$?@FF~VZZ\& #'##(" #'h#$(++$ ("5"5$  !3!3$ !("5"5	$
 !("5"5$ ()C)C$ ,X-K-K$ X^^$  !3!3$ x//$ #H$9$9$ X^^$ X^^$ #RZRgRgH$9$9$B$B:$Nmq$ !W_WjWj("5"5">">?R"Spt$  #[c[p[pH$9$9$B$BCV$Wvz!$" #'#   #(( $/#.$(&4+  yy{( #'%#($ #'h%$(++$ ("5"5$  !3!3$ !("5"5	$
 !("5"5$ ()C)C$ ()C)C$ ,X-K-K$ X^^$  !3!3$ x//$ #H$9$9$ X^^$ X^^$ #RZRgRgH$9$9$B$B:$Nmq$  !W_WjWj("5"5">">?R"Spt!$" #[c[p[pH$9$9$B$BCV$Wvz#$$ #'%   #(( '&e#(<#(,  	AFM%-@@	AsJ   J/V+ 28V+ *EV!.	V+ 8V+ EV&V+ !
V+ +
W5W
W
Wc                     U R                   R                  [        5      R                  [        R                  U:H  [        R
                  S:H  5      R                  5       nU(       GaI  0 SUR                  _SUR                  _SUR                  _SUR                  _SUR                  _SUR                  _SUR
                  _S	UR                  _S
UR                  _SUR                  _SUR                  _SUR                   _SUR"                  _SUR$                  _SUR&                  (       a  UR&                  R)                  S5      OS _SUR*                  (       a  UR*                  R)                  S5      OS _SUR,                  (       a  UR,                  R)                  S5      OS _nSU0$ SS0$ ! [.         a  n[1        U5      nSUS.s S nA$ S nAff = f)Nr   r   r   r   r   r   r   r*   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   customer_datar+   z6No se encontraron datos para el customer especificado.r,   )r
   r/   r   r0   r   r*   firstr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r9   r'   r)   r:   r;   )r   r   
data_queryrD   r?   r@   s         r   getCustomerClass.gett   s   "	A}5<<  B&//14 eg 
 !*--! *"7"7!  !5!5! !*"7"7	!
 !*"7"7! ()E)E! ()E)E! ,Z-M-M! Z--!  !5!5! z11! #J$;$;! Z--! Z--! #T^TkTkJ$;$;$D$DZ$Pqu!  !YcYnYn*"7"7"@"@AT"Utx!!" #]g]t]tJ$;$;$D$DEX$Yz~#!( (77  !YZZ 	AFM%-@@	As$   F/F6 2F6 6
G GGGc                 n    [        S0 SUR                  S5      _SUR                  S5      _SUR                  S5      _SUR                  S5      _SUR                  S5      _SS_SUS   _S	UR                  S	5      _S
UR                  S
5      _SUR                  S5      _SUR                  S5      _SUR                  S5      _SUR                  S5      _SUR                  S5      _S[        R                  " 5       _S[        R                  " 5       _6nU R                  R                  U5        U R                  R                  5         U R                  R                  U5        SSUR                  S.$ ! [         a2  nU R                  R                  5         S[        U5      S.s S nA$ S nAff = f)Nr   r   r   r   r   r*   r   r   r   r    r!   r"   r#   r$   r%   r'   r)   successzCustomer created successfully)r-   r.   customer_idr+   r,    )r   rG   r   nowr
   addcommitrefreshr   r:   rollbackr;   )r   customer_inputsnew_customerr?   s       r   storeCustomerClass.store   s    	:( *..|<)--k: +..|< +..|<	
 #2"5"56I"J #$ '66M&N &))'2 *--k: (++I6 -00@ &))'2 &))'2 -00@ $<<>  &\\^!L& GGKK%GGNNGGOOL) $:+   	:GG%#a&99	:s   E5E8 8
F4'F/)F4/F4c                     U R                   R                  [        5      R                  [        R                  U:H  5      R                  5       nU(       a@  SUl        [        R                  " 5       Ul	        U R                   R                  5         SSS.$ SSS.$ ! [         a4  nU R                   R                  5         [        U5      nSUS.s S nA$ S nAff = f)Nr   rJ   zCustomer deleted successfullyr,   r+   No data found)r
   r/   r   r0   r   rE   r*   r   rM   r)   rO   r:   rQ   r;   )r   r   r   r?   r@   s        r   deleteCustomerClass.delete   s    	A77==/66}7G7G27MNTTVD)*&$,LLN! "+8WXX")oFF 	AGGFM%-@@	As$   BB B 
C%)CCCc                 0    U R                   R                  [        5      R                  [        R                  U:H  5      R                  5       nU(       d  SSS.$ UR                  5        H  u  pEUc  M
  [        X4U5        M     [        R                  " 5       Ul
        U R                   R                  5         U R                   R                  U5        SSS.$ ! [         a2  nU R                   R                  5         S[        U5      S.s S nA$ S nAff = f)Nr+   rW   r,   rJ   zCustomer updated successfully)r
   r/   r   r0   r   one_or_noneitemssetattrr   rM   r)   rO   rP   r:   rQ   r;   )r   r   rR   existing_customerkeyvaluer?   s          r   updateCustomerClass.update   s    	: $m < C CMDTDTXZDZ [ g g i$")oFF-335
$-E: 6 .6\\^*GGNNGGOO-.'4STT 	:GG%#a&99	:s+   AC C 5A#C 
D#'D
DDr	   )r   
   NNN)__name__
__module____qualname____firstlineno__r   rA   rG   rT   rX   ra   __static_attributes__rL   r   r   r   r      s'    jAX#AJ!:FA :r   r   N)r   app.backend.db.modelsr   r   rL   r   r   <module>rj      s     /\: \:r   