249 lines
12 KiB
C#
249 lines
12 KiB
C#
|
|
|
|||
|
|
|
|||
|
|
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;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|