
    Eh                     |    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)    )List)HTTPException)Session)schema)JWTPayloadSchema)&MarginandSalesContributionAnalysisBase%TblMarginandSalesContributionAnalysis)CustomResponse)Messagesc                   n    e Zd ZdedefdZdej                  fdZde	fdZ
deej                     fdZy	)
)MarginandSalesContributionAnalysisServicedbtokenc                      || _         || _        y )N)r   r   )selfr   r   s      ]/var/www/html/retail-simulation-api/app/api/margin_and_sales_contribution_analysis/service.py__init__z2MarginandSalesContributionAnalysisService.__init__   s    
    requestc                    K   t        j                  |j                               }t        j                  || j
                         | j
                  j                          t        dt        j                        S w)N1statusmessage)
r   model_validate
model_dumpr	   creater   commitr
   r   MARGIN_AND_SALES)r   r   created_datas      r   createdz1MarginandSalesContributionAnalysisService.created   sT     =LLWM_M_Mab-44\477KS(2K2KLLs   A9A;group_idc                    K   t        j                  || j                        }|st        dd      |D cg c]!  }t        j
                  j                  |      # c}S c c}w w)Ni  zGet group ID not found)status_codedetail)r	   getr   r   r   *MarginandSalesContributionAnalysisResponser   )r   r"   
geted_data	get_groups       r   getedz/MarginandSalesContributionAnalysisService.geted   sZ     :>>xQ
C8PQQmwxmw`iAAPPQZ[mwxxxs   4A$&AA$c                 p  K   |D ]y  }t        j                  |j                               }|j                  t	        dt
        j                        c S t        j                  |j                  || j                         { | j                  j                          t	        dt
        j                        S w)Nz-1r   r   )r   r   r   	margin_idr
   r   MARGIN_AND_SALES_NOTr	   updater   r   MARGIN_AND_SALES_UPDATE)r   r   requpdated_datas       r   updatedz1MarginandSalesContributionAnalysisService.updated   s     CAPPQTQ_Q_QabL%%-%T8;X;XYY1889O9OQ]_c_f_fg	 
 	S(2R2RSSs   B4B6N)__name__
__module____qualname__r   r   r   r   (MarginandSalesContributionAnalysisCreater!   intr*   r   (MarginandSalesContributionAnalysisUpdater2    r   r   r   r   
   sQ    ' )9 MF$S$S My3 yTD)X)X$Y Tr   r   N)typingr   fastapir   sqlalchemy.ormr   .app.api.margin_and_sales_contribution_analysisr   app.dependency.authanticationr   6app.models.main.margin_and_sales_contribution_analysisr   r	   app.utils.schemas_utilsr
   app.locale.messagesr   r   r9   r   r   <module>rB      s,     ! " A : Q 2 (T Tr   