TFS_ANTIGUO/TPAtesa_Vacaciones/FE/SlnVacaciones/CR.Atesa.Vacaciones.Webservice/Vacaciones.asmx.cs

249 lines
12 KiB
C#
Raw Normal View History


using CR.Atesa.VacacionesModel;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Odbc;
using System.Data.OracleClient;
using System.Linq;
using System.Web;
using System.Web.Services;
using Ultimus.Interfaces;
using Ultimus.Utilitarios;
namespace CR.Atesa.Vacaciones.Webservice
{
/// <summary>
/// Descripción breve de Vacaciones
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente.
// [System.Web.Script.Services.ScriptService]
public class Vacaciones : System.Web.Services.WebService
{
UltimusLogs logs = new UltimusLogs("VacacionesWebservice");
[WebMethod]
public SolicitudVacaciones ConsultaInfoFuncionario(string CodigoEmpresa, string UsuarioUltimus)
{
SolicitudVacaciones sResponse = new SolicitudVacaciones();
try
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
OracleConnection cn = new OracleConnection(ConfigurationManager.AppSettings["ConnectionString"]);
OracleCommand cmd = new OracleCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Consulta_Info_Funcionario";
cmd.Parameters.Add("pCodigoEmpresa", OracleType.VarChar, 200).Value = CodigoEmpresa;
cmd.Parameters.Add("pUsuarioUltimus", OracleType.VarChar, 200).Value = UsuarioUltimus;
cmd.Parameters.Add("pIdentificacion", OracleType.VarChar, 15).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pNombre", OracleType.VarChar, 100).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pNumeroEmpleado", OracleType.Number).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pEmail", OracleType.VarChar, 200).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pMensajeError", OracleType.VarChar, 200).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pDisponible", OracleType.Number).Direction = ParameterDirection.InputOutput;
cn.Open();
cmd.ExecuteNonQuery();
sResponse.Identificacion = cmd.Parameters["pIdentificacion"].Value.ToString();
sResponse.Nombre = cmd.Parameters["pNombre"].Value.ToString();
if (!string.IsNullOrEmpty(cmd.Parameters["pNumeroEmpleado"].Value.ToString()))
sResponse.NumeroEmpleado = Convert.ToInt32(cmd.Parameters["pNumeroEmpleado"].Value.ToString());
sResponse.Email = cmd.Parameters["pEmail"].Value.ToString();
sResponse.MensajeError = cmd.Parameters["pMensajeError"].Value.ToString();
if (!string.IsNullOrEmpty(cmd.Parameters["pDisponible"].Value.ToString()))
sResponse.Disponible = Convert.ToInt32(cmd.Parameters["pDisponible"].Value.ToString());
if (!string.IsNullOrEmpty(sResponse.MensajeError))
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
logs.Error(sResponse.MensajeError);
}
cn.Close();
}
catch (OdbcException ex2)
{
logs.Error(ex2.Message);
sResponse.MensajeError = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
logs.Error(ex.Message);
sResponse.MensajeError = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
return sResponse;
}
[WebMethod]
public SolicitudVacaciones RegistrarSolicituddUltimus(string CodigoEmpresa, int NumeroEmpleado, DateTime FechaInicial, DateTime FechaFinal)
{
SolicitudVacaciones sResponse = new SolicitudVacaciones();
try
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
OracleConnection cn = new OracleConnection(ConfigurationManager.AppSettings["ConnectionString"]);
OracleCommand cmd = new OracleCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Registrar_Solicitudd_Ultimus";
cmd.Parameters.Add("pCodigoEmpresa", OracleType.VarChar, 200).Value = CodigoEmpresa;
cmd.Parameters.Add("pNumeroEmpleado", OracleType.Number).Value = NumeroEmpleado;
cmd.Parameters.Add("pFechaInicial", OracleType.DateTime).Value = Convert.ToDateTime(FechaInicial);
cmd.Parameters.Add("pFechaFinal", OracleType.DateTime).Value = Convert.ToDateTime(FechaFinal);
cmd.Parameters.Add("pTotalDias", OracleType.Number).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pPeriodo", OracleType.VarChar, 200).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pNumSolicitud", OracleType.Number).Direction = ParameterDirection.InputOutput;
cmd.Parameters.Add("pMensajeError", OracleType.VarChar, 200).Direction = ParameterDirection.InputOutput;
cn.Open();
cmd.ExecuteNonQuery();
if (!string.IsNullOrEmpty(cmd.Parameters["pTotalDias"].Value.ToString()))
sResponse.TotalDias = Convert.ToInt32(cmd.Parameters["pTotalDias"].Value.ToString());
sResponse.Periodo = cmd.Parameters["pPeriodo"].Value.ToString();
if (!string.IsNullOrEmpty(cmd.Parameters["pNumSolicitud"].Value.ToString()))
sResponse.NumSolicitud = Convert.ToInt32(cmd.Parameters["pNumSolicitud"].Value.ToString());
sResponse.MensajeError = cmd.Parameters["pMensajeError"].Value.ToString();
if (!string.IsNullOrEmpty(sResponse.MensajeError))
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
logs.Error(sResponse.MensajeError);
}
cn.Close();
}
catch (OdbcException ex2)
{
logs.Error(ex2.Message);
sResponse.MensajeError = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
logs.Error(ex.Message);
sResponse.MensajeError = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
return sResponse;
}
[WebMethod]
public SolicitudVacaciones AprobacionRechazoSolicitud(string CodigoEmpresa, int NumeroSolicitud, string UsuarioUltimus, string Observaciones, string IndDecision)
{
SolicitudVacaciones sResponse = new SolicitudVacaciones();
try
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
OracleConnection cn = new OracleConnection(ConfigurationManager.AppSettings["ConnectionString"]);
OracleCommand cmd = new OracleCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "APROBACION_RECHAZO_SOLICITUD";
cmd.Parameters.Add("pCodEmpresa", OracleType.VarChar, 200).Value = CodigoEmpresa;
cmd.Parameters.Add("pNumeroSolicitud", OracleType.Number).Value = NumeroSolicitud;
cmd.Parameters.Add("pUsuarioUltimus", OracleType.VarChar, 200).Value = UsuarioUltimus;
cmd.Parameters.Add("pObservaciones", OracleType.VarChar, 200).Value = Observaciones;
cmd.Parameters.Add("pIndDecision", OracleType.VarChar, 200).Value = IndDecision;
cmd.Parameters.Add("pMensajeError", OracleType.VarChar, 200).Direction = ParameterDirection.InputOutput;
cn.Open();
cmd.ExecuteNonQuery();
sResponse.MensajeError = cmd.Parameters["pMensajeError"].Value.ToString();
if (!string.IsNullOrEmpty(sResponse.MensajeError))
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
logs.Error(sResponse.MensajeError);
}
cn.Close();
}
catch (OdbcException ex2)
{
logs.Error(ex2.Message);
sResponse.MensajeError = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
logs.Error(ex.Message);
sResponse.MensajeError = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
return sResponse;
}
[WebMethod]
public BaseJason EnviarCorreoAprobacion(string Recipient, string Subject, string Message)
{
BaseJason sResponse = new BaseJason();
try
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.EXITOSO.ToString();
OracleConnection cn = new OracleConnection(ConfigurationManager.AppSettings["ConnectionString"]);
OracleCommand cmd = new OracleCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "ENVIAR_CORREO_APROBACION";
cmd.Parameters.Add("pRecipient", OracleType.VarChar, 200).Value = Recipient;
cmd.Parameters.Add("pSubject", OracleType.VarChar, 200).Value = Subject;
cmd.Parameters.Add("pMessage", OracleType.VarChar, 200).Value = Subject;
cmd.Parameters.Add("pMensajeError", OracleType.VarChar, 200).Direction = ParameterDirection.InputOutput;
cn.Open();
cmd.ExecuteNonQuery();
sResponse.DescripcionRespuesta = cmd.Parameters["pMensajeError"].Value.ToString();
if (!string.IsNullOrEmpty(sResponse.DescripcionRespuesta))
{
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
logs.Error(sResponse.DescripcionRespuesta);
}
cn.Close();
}
catch (OdbcException ex2)
{
logs.Error(ex2.Message);
sResponse.DescripcionRespuesta = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
logs.Error(ex.Message);
sResponse.DescripcionRespuesta = "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde";
sResponse.CodigoRespuesta = TipoCodigoRespuesta.ERROR.ToString();
}
return sResponse;
}
}
}