Sindbad~EG File Manager

Current Path : /home/numerotech/workshops.numerotech.com/common_workshop_reg/core/model/
Upload File :
Current File : //home/numerotech/workshops.numerotech.com/common_workshop_reg/core/model/SpotRegModel.py

from sqlalchemy import create_engine, MetaData, Table, insert, select,update,delete,text
from sqlalchemy.sql import and_, or_
from core import app
import json
from .. import engine


# engine = create_engine(app.config['DATABASE_URI'],pool_pre_ping=True,pool_recycle=3600)

class SpotRegModel():  
	def __init__(self):
		try:
			self.meta = MetaData()
			self.states    = Table("states", self.meta,  autoload_with=engine)
			self.self_spot_register  = Table("self_spot_register",self.meta, autoload_with= engine)
			self.conference  = Table("conference",self.meta, autoload_with= engine)	
			self.delegates  = Table("delegates",self.meta, autoload_with= engine)
			self.badge_role  = Table("badge_role",self.meta, autoload_with= engine)
			self.delegate_attachments  = Table("delegate_attachments",self.meta, autoload_with= engine)
				
		except Exception as e:
			print(e)


	def insert_spotregdata_getdata(self,data):
		with engine.connect() as conn:
			result = conn.execute(self.self_spot_register.insert(), data)
			conn.commit()
			stmt_2 = text("select register_id from self_spot_register where  register_id=(select max(register_id) from self_spot_register);")
			result_2 = conn.execute(stmt_2).one_or_none()
			return dict(result_2._mapping) if result_2 else None

	def get_user_type(self,conf_id):
		with engine.connect() as conn:
			stmt = text("select distinct ut.* from addons a inner join user_types ut on ut.user_type_id = a.user_type_id where a.conference_id = "+str(conf_id)+" and a.addon_type_id in (1);")
			result = conn.execute(stmt).all()
			return [dict(r._mapping) for r in result] if result else None
						


	
	def get_search_spot_user(self,register_no,conf_id):
		with engine.connect() as conn:
			stmt = text("select * from self_spot_register where register_id = "+str(register_no)+" and conference_id = "+str(conf_id)+" ;")
			result = conn.execute(stmt).one_or_none()
			return dict(result._mapping) if result else None		
	


	def update_completed_registered_delegates(self,register_id,delegate_no,conf_id):
		with engine.connect() as conn:
			stmt 	= text("update self_spot_register set delegate_no ='"+str(delegate_no)+"' where conference_id ='"+str(conf_id)+"' and register_id = '"+str(register_id)+"';") 
			result  = conn.execute(stmt)
			conn.commit()
			if result:
				return 'success'
			else :
			   return 'fail'


	def update_payment_proof_attachemant(self,register_id,data_1):
		with engine.connect() as conn:
			stmt 	= self.self_spot_register.update().where(self.self_spot_register.c.register_id.in_([register_id])).values(data_1)
			result  = conn.execute(stmt)
			conn.commit()
			if result:
				return 'success'	
			else :
			   return 'fail'

	def get_spot_code(self,conf_id):
		with engine.connect() as conn:
			stmt=text("select * from self_spot_register where  conference_id = "+str(conf_id)+";")
			result = conn.execute(stmt).all()
			return [dict(r._mapping) for r in result] if result else None
						

	def insert_payment_screenshot(self,update_payment_proof):
		with engine.connect() as conn:
			result  = conn.execute(self.delegate_attachments.insert(), update_payment_proof)
			conn.commit()
			return result.lastrowid		   			   			   	
		

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists