using System;
using System.Data.SqlClient;

using Seguridad.DataSetFT;
using Seguridad.DataAccess;
using Municipalidad.Utils;

namespace Seguridad.BusinessObjects
{
	public class RlsEmrpesa
	{
		/// <summary>
		/// Constructor
		/// </summary>
		public RlsEmrpesa()
		{
		}

		#region Mazars

		/// <summary>
		/// Busca las empresa que tiene el usuario
		/// </summary>
		/// <param name="idSistema">Identificador del Sistema</param>
		/// <returns>Data set con las Empresas</returns>
		public DSEmpresas LoadEmpresasAll(int idSistema, int idUsuario, bool Exist)
		{
			//SqlConnection utilizado para ejecutar el SqlCommand
			SqlConnection connection = null;

			DSEmpresas ds;
			
			try
			{
				//Abre la conexion
				connection = UtilsDB.GetConnection(UtilsConnectionManager.GetConnection(eConnectionString.Seguridad));

				Empresa da = new Empresa(connection);
				ds = da.SelectAll(idSistema, idUsuario, Exist);
			}
			catch (SqlErrorException ex)
			{
				throw ex;
			}
			catch (Exception exc)
			{
				throw exc;
			}
			finally
			{
				if(connection != null)
					connection.Dispose();
			}

			return ds;
		}

		/// <summary>
		/// Busca las empresa que tiene el usuario
		/// </summary>
		/// <param name="idSistema">Identificador del Sistema</param>
		/// <returns>Data set con las Empresas</returns>
		public DSEmpresas LoadEmpresasAll(int idSistema)
		{
			//SqlConnection utilizado para ejecutar el SqlCommand
			SqlConnection connection = null;

			DSEmpresas ds;
			
			try
			{
				//Abre la conexion
				connection = UtilsDB.GetConnection(UtilsConnectionManager.GetConnection(eConnectionString.Seguridad));

				Empresa da = new Empresa(connection);
				ds = da.SelectAll(idSistema);
			}
			catch (SqlErrorException ex)
			{
				throw ex;
			}
			catch (Exception exc)
			{
				throw exc;
			}
			finally
			{
				if(connection != null)
					connection.Dispose();
			}

			return ds;
		}

		/// <summary>
		/// Busca las empresa que tiene el usuario
		/// </summary>
		/// <param name="idSistema">Identificador del Sistema</param>
		/// <returns>Data set con las Empresas</returns>
		public DSEmpresaAno LoadEmpresasAno(string idEmpresa, int idSistema)
		{
			//SqlConnection utilizado para ejecutar el SqlCommand
			SqlConnection connection = null;

			DSEmpresaAno ds;
			
			try
			{
				//Abre la conexion
				connection = UtilsDB.GetConnection(UtilsConnectionManager.GetConnection(eConnectionString.Seguridad));

				Empresa da = new Empresa(connection);
				ds = da.SelectAno(idEmpresa, idSistema);
			}
			catch (SqlErrorException ex)
			{
				throw ex;
			}
			catch (Exception exc)
			{
				throw exc;
			}
			finally
			{
				if(connection != null)
					connection.Dispose();
			}

			return ds;
		}
		#endregion
	}
}