
    h                         d dl mZmZ d dlmc mc mZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ  G d d      Zy)    )descselectN)Session)JWTPayloadSchema)Messages)TblGroup)TblMainData)StoreFormatBaseTblStoreFormat)CustomResponse)StoreFormateResc                       e Zd ZdedefdZdej                  fdZdej                  fdZ
dej                  fdZdefd	Zdefd
Zy)StoreFormateServicedbtokenc                      || _         || _        y N)r   r   )selfr   r   s      8/var/www/html/RetailAPI/app/api/store_formate/service.py__init__zStoreFormateService.__init__   s    
    requestc                    K   t        j                  |      }t        j                  || j                         | j                  j                          t        dt        j                        S w)N1statusmessage)	r
   model_validater   creater   commitr   r   STOREFORMATE_CREAT)r   r   created_users      r   create_store_formatez(StoreFormateService.create_store_formate   sK     &55g>lDGG4S(2M2MNNs   A+A-c                    | j                   j                  t        t              j	                  t        j
                  |j
                  k(              j                         }|st        dd      S | j                   j                  t        t              j	                  t        j                  |j                  k(  t        j                  |j                  k(  z        j                  t        t        j                              j                  d            }|j                         }|st        dd      S |j                   xs d|j"                  xs d|j$                  xs dd}|j&                  xs d|j(                  xs d|j*                  xs dd}|j,                  xs d|j.                  xs d|j0                  xs dd}|j2                  }||vrt        dd      S ||   }	|j4                  }
|
|vrt        dd	      S ||
   }|j6                  }||vrt        dd
      S ||   }t9        j:                  |      }t=        |	      |_        t=        |      |_        t=        |      |_        t?        di |jA                         }| j                   jC                  |       | j                   jE                          | j                   jG                  |       t        dtH        jJ                        S )N0zGroup not foundr      z,Main data not found for the group's categoryr   )LowMediumHighz6Invalid merchandise value (Low, Medium, High required)z=Invalid service parameters value (Low, Medium, High required)z>Invalid technology adoption value (Low, Medium, High required)r    )&r   executer   r   wheregroup_idscalar_one_or_noner   r	   format_typecategory_assignedcategoryorder_byr   data_idlimitno_of_cats_lno_of_cats_mno_of_cats_h
services_l
services_m
services_h
tech_inv_l
tech_inv_m
tech_inv_hmerchandiseservice_parameterstechnology_adoptionr   r   strr   
model_dumpaddr    refreshr   r!   )r   r   groupresult	main_datamerchandise_mapservice_parameters_maptechnology_adoption_mapmerchandise_textmerchandise_valueservice_textservice_value	tech_text
tech_value	new_storenew_store_dbs                   r   create_store_format3z(StoreFormateService.create_store_format3   s   8""8#4#48H8H#HI



 	 !6GHH;U((E,C,CC((ENN:< Xd;../0U1X
 --/	!6dee )).Q,,1**/a
 '',1**/a((-A"
 '',1**/a((-A#
 #..?2!6noo+,<=1155!6uvv.|<//	33!6vww,Y7
#227;	!"34	%(%7	$&)*o	%%?	(<(<(>?L!%S(2M2MNNr   c                 $  K   |j                   t        dt        j                        S t	        j
                  |j                   || j                        }t        j                  j                  |      }t        dd|j                               S w)N-1r   r   z!Store format updated successfully)r   r   data)store_idr   r   STUDENT_ID_REQUIEDr   updater   schemasStoreFormateResponser   rB   )r   r   updated_dataresponse_datas       r   update_store_formatez(StoreFormateService.update_store_formateY   ss     #!x7R7RSS%,,W-=-=wP44CCLQS1TZgZrZrZtuus   BBrW   c                    K   t        j                  || j                        }t        j                  j                  |      S wr   )r   	get_by_idr   rZ   r[   r   )r   rW   store_formats      r   get_store_formatez%StoreFormateService.get_store_formate`   s3     %//$''B++::<HHs   A Ac                    K   t        j                  || j                        }|st        dd      S t        dd      S w)NrU   zStore Formate not foundr   r   z"Store Formate deleted successfully)r   deleter   r   )r   rW   deleteds      r   delete_store_formatez(StoreFormateService.delete_store_formated   s;      ''$'':!7PQQS2VWWs   =?N)__name__
__module____qualname__r   r   r   rZ   StoreFormateCreater#   StoreFormateCreate11rS   StoreFormateUpdater^   intrb   rf   r*   r   r   r   r      sq    7 )9 O'2L2L O@OG,H,H @ODv'2L2L vI IX3 Xr   r   )
sqlalchemyr   r   app.api.store_formate.schemasapistore_formaterZ   sqlalchemy.ormr   app.dependency.authanticationr   app.locale.messagesr   app.models.main.groupr   app.models.main.main_datar	   app.models.main.store_formater
   r   app.utils.schemas_utilsr   r   r   r*   r   r   <module>ry      s4    # / / " : ( * 1 I 2 9\X \Xr   