/*
	Classe gerada automaticamente pelo MSTech Code Creator
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MSTech.Data.Common;
using MSTech.Data.Common.Abstracts;
using MSTech.GestaoEscolar.Entities;
namespace MSTech.GestaoEscolar.DAL.Abstracts
{
	
	/// <summary>
	/// Classe abstrata de ORC_ConteudoItem
	/// </summary>
	public abstract class Abstract_ORC_ConteudoItemDAO : Abstract_DAL<ORC_ConteudoItem>
	{
	
        protected override string ConnectionStringName
        {
            get
            {
                return "MSTech.GestaoEscolar";
            }
        }
        	
		/// <summary>
		/// Configura os parametros do metodo de carregar
		/// </ssummary>
		/// <param name="qs">Objeto da Store Procedure</param>
		protected override void ParamCarregar(QuerySelectStoredProcedure qs, ORC_ConteudoItem entity)
		{
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@obj_id";
			Param.Size = 4;
			Param.Value = entity.obj_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@ctd_id";
			Param.Size = 4;
			Param.Value = entity.ctd_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@cti_id";
			Param.Size = 4;
			Param.Value = entity.cti_id;
			qs.Parameters.Add(Param);
		}
		
		/// <summary>
		/// Configura os parametros do metodo de Inserir
		/// </summary>
		/// <param name="qs">Objeto da Store Procedure</param>
		protected override void ParamInserir(QuerySelectStoredProcedure qs, ORC_ConteudoItem entity)
		{
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@obj_id";
			Param.Size = 4;
			Param.Value = entity.obj_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@ctd_id";
			Param.Size = 4;
			Param.Value = entity.ctd_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@cti_id";
			Param.Size = 4;
			Param.Value = entity.cti_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.AnsiString;
			Param.ParameterName = "@cti_descricao";
			Param.Size = 2147483647;
			Param.Value = entity.cti_descricao;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Byte;
			Param.ParameterName = "@cti_situacao";
			Param.Size = 1;
			Param.Value = entity.cti_situacao;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.DateTime;
			Param.ParameterName = "@cti_dataCriacao";
			Param.Size = 16;
			Param.Value = entity.cti_dataCriacao;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.DateTime;
			Param.ParameterName = "@cti_dataAlteracao";
			Param.Size = 16;
			Param.Value = entity.cti_dataAlteracao;
			qs.Parameters.Add(Param);
		}
		
		/// <summary>
		/// Configura os parametros do metodo de Alterar
		/// </summary>
		/// <param name="qs">Objeto da Store Procedure</param>
		protected override void ParamAlterar(QueryStoredProcedure qs, ORC_ConteudoItem entity)
		{
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@obj_id";
			Param.Size = 4;
			Param.Value = entity.obj_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@ctd_id";
			Param.Size = 4;
			Param.Value = entity.ctd_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@cti_id";
			Param.Size = 4;
			Param.Value = entity.cti_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.AnsiString;
			Param.ParameterName = "@cti_descricao";
			Param.Size = 2147483647;
			Param.Value = entity.cti_descricao;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Byte;
			Param.ParameterName = "@cti_situacao";
			Param.Size = 1;
			Param.Value = entity.cti_situacao;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.DateTime;
			Param.ParameterName = "@cti_dataCriacao";
			Param.Size = 16;
			Param.Value = entity.cti_dataCriacao;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.DateTime;
			Param.ParameterName = "@cti_dataAlteracao";
			Param.Size = 16;
			Param.Value = entity.cti_dataAlteracao;
			qs.Parameters.Add(Param);
		}
		/// <summary>
		/// Configura os parametros do metodo de Deletar
		/// </summary>
		/// <param name="qs">Objeto da Store Procedure</param>
		protected override void ParamDeletar(QueryStoredProcedure qs, ORC_ConteudoItem entity)
		{
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@obj_id";
			Param.Size = 4;
			Param.Value = entity.obj_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@ctd_id";
			Param.Size = 4;
			Param.Value = entity.ctd_id;
			qs.Parameters.Add(Param);
			Param = qs.NewParameter();
			Param.DbType = DbType.Int32;
			Param.ParameterName = "@cti_id";
			Param.Size = 4;
			Param.Value = entity.cti_id;
			qs.Parameters.Add(Param);
		}
		
		/// <summary>
		/// Recebe o valor do auto incremento e coloca na propriedade 
		/// </summary>
		/// <param name="qs">Objeto da Store Procedure</param>
		protected override bool ReceberAutoIncremento(QuerySelectStoredProcedure qs, ORC_ConteudoItem entity)
		{


Answer:             entity.cti_id = Convert.ToInt32(qs.Return.Rows[0][0]);