
    H(i                          d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dl
mZ d dlmZmZmZmZ  G d de      Z G d d	e      Zy
)    )Literal)	BaseModelField)VARCHAREnum
ForeignKeyInteger)Base)Mappedmapped_columnrelationshipSessionc                   v   e Zd ZU  ed      Zedz  ed<    ed      Zedz  ed<    ed      Z	edz  ed<    ed      Z
edz  ed<    ed      Zedz  ed<    ed      Zedz  ed<    ed      Zedz  ed	<    ed      Zedz  ed
<    ed      Zedz  ed<   dZed   ed<    ed      Zedz  ed<   y)DisplayBoardBaseN)defaultdisplay_board_idtypesizecost_per_unitunitstotalremarkchoicerate_per_sqStore Format A)r   Store Format Bstore_format_typegroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r   r   r   r   r   r   r        D/var/www/html/retail-simulation-api/app/models/main/display_board.pyr   r      s    $)$$7sTz7d+D3:+d+D3:+!&t!4MC$J4t,EC$J,t,EC$J,-FS4Z--FS4Z-$T2K#*2FV BCV!$/HsTz/r&   r   c            	          e Zd ZU dZ ededd      Zee   e	d<    ed e
d      dd      Zee   e	d<    ed	edd      Zee   e	d	<    ed
edd      Zee   e	d
<    ededd      Zee   e	d<    ededd      Zee   e	d<    ed e
d      dd      Zee   e	d<    ed edd            Zee   e	d<    ededd      Zee   e	d<    e edd            Zee   e	d<    ee ed      d      Zee   e	d<    edd      Zedededd fd       Zedededd fd        Zed!edededd fd"       Zed#ededd fd$       Z y)%TblDisplayBoardtbl_displayboardr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   r   r   r   r   z
Unit PricezRate per SQFTr   r   r   r   ztbl_group.group_idF)r.   r   TblGroupdisplay_board)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr%   )
model_dumpaddflush)clsr3   r4   	data_dictnew_datas        r'   createzTblDisplayBoard.create&   s5    OO%	##
x

r&   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r:   r   r4   get_datas       r'   get_by_display_board_dataz)TblDisplayBoard.get_by_display_board_data.   s1    88C=''(@AEEGr&   display_board_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r?   )	r@   rA   r   firstr7   itemssetattrcommitrefresh)r:   rE   r3   r4   update_datar;   keyvalues           r'   update_display_boardz$TblDisplayBoard.update_display_board4   s    hhsm**3+?+?CZ+Z[aacOO%	#//+JC S%0 , 			


;r&   display_board_delete_idc                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r@   rA   r   rG   deleterJ   )r:   rP   r4   delete_datas       r'   delete_display_boardz$TblDisplayBoard.delete_display_board?   sM    hhsm**3+?+?CZ+Z[aac
		+
		r&   )!r   r    r!   __tablename__r   r	   r   r   r"   r#   r   r   r$   r   r   r   r   r   r   r   r   r   r   r   r   groupclassmethodr   r   r=   rD   rO   rT   r%   r&   r'   r)   r)      s   &M%23Ew\`pt%uvc{u&vws|d[_`D6#;`&vwVZ[D6#;["/SWhl"mMF3Km'4X\]EF3K]'4X\]EF3K](73<$_cdFVC[d(4_3UVFVC[V -mWtdh iK&+i&3D9IK[4\&^s^)':>R3S^cdHfSkdODE*  ;L     DU  
 3 FV Za ev   3 G O`  r&   r)   N)typingr   pydanticr   r   
sqlalchemyr   r   r   r	   app.models.base_classr
   sqlalchemy.ormr   r   r   r   r   r)   r%   r&   r'   <module>r]      s2     % 9 9 & D D0y 01d 1r&   