198 lines
8.8 KiB
C#
198 lines
8.8 KiB
C#
using ADSUtileriasService.Conexion.SIG;
|
|
using ADSUtileriasService.Helpers;
|
|
using ADSNetLibrary.SIGAPI;
|
|
using ADSNetLibrary.SIGAPI.Models;
|
|
using ADSNetLibrary.SIGAPI.Models.Planeacion.Request;
|
|
using ADSNetLibrary.SIGAPI.Models.Planeacion.Response;
|
|
using ADSNetLibrary.SIGAPI.Models.Request;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.ServiceModel;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using ADSNetLibrary.SIGAPI.Models.Sistema;
|
|
|
|
namespace ADSUtileriasService.Servicios
|
|
{
|
|
[ServiceContract]
|
|
public interface IChecadorService
|
|
{
|
|
[OperationContract]
|
|
List<Modelos.Checador.Checadormodel> GetChecadores(int cveSubProyecto, int CveEmpresa = -1);
|
|
[OperationContract]
|
|
List<ADSNetLibrary.SIGAPI.Models.RH.Response.ResponseGetPersonal> GETPersonal(int cveSubProyecto, int CveEmpresa = -1);
|
|
[OperationContract]
|
|
List<ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.PersonalChecador> GetChecadorEmpleado(int CveChecador, int CveEmpresa = -1);
|
|
|
|
[OperationContract]
|
|
List<PersonalChecadorIDResponse> PersonalChecadorID(int CveChecador);
|
|
|
|
[OperationContract]
|
|
bool SetPersonalChecador(List<ADSNetLibrary.SIGAPI.Models.RH.Request.RequestPersonalChecadorUp> empleados, int CveEmpresa = -1);
|
|
[OperationContract]
|
|
bool AddChecadorEmpleado(int cveChecador, ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.PersonalChecador personal, string sCardnumber = "0", int CveEmpresa = -1);
|
|
[OperationContract]
|
|
ResponseLogin Login(RequestLogin parames);
|
|
[OperationContract]
|
|
List<ResponseSubProyectoUsuario> GetSubProyectos(RequestSubProyectoUsuario parames);
|
|
}
|
|
class ChecadorService : IChecadorService
|
|
{
|
|
public List<Modelos.Checador.Checadormodel> GetChecadores(int cveSubProyecto, int CveEmpresa = -1)
|
|
{
|
|
ResponseModel<List<Modelos.Checador.Checadormodel>> retorno = new ResponseModel<List<Modelos.Checador.Checadormodel>>();
|
|
using (Helpers.ADSSqlite.SqlLiteBase bd = new Helpers.ADSSqlite.SqlLiteBase())
|
|
{
|
|
Conexion.Local.RHRepository rhrepo = new Conexion.Local.RHRepository(bd);
|
|
retorno.Result = rhrepo.GETChecadores(cveSubProyecto);
|
|
}
|
|
return retorno.Result;
|
|
}
|
|
|
|
public bool AddUpPersonalChecadorVinculo(RequestPersonalChecadorVinculoAddUp request)
|
|
{
|
|
Conexion.SIG.RHSIG rhsig = new Conexion.SIG.RHSIG();
|
|
var checks = rhsig.AddUpPersonalChecadorVinculo(request);
|
|
if (checks != null)
|
|
{
|
|
return checks.Result;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
public List<PersonalChecadorIDResponse> PersonalChecadorID(int CveChecador)
|
|
{
|
|
Conexion.SIG.RHSIG rhsig = new Conexion.SIG.RHSIG();
|
|
var checks = rhsig.PersonalChecadorID(CveChecador);
|
|
if (checks != null)
|
|
{
|
|
return checks.Result;
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
public List<ADSNetLibrary.SIGAPI.Models.RH.Response.ResponseGetPersonal> GETPersonal(int cveSubProyecto, int CveEmpresa = -1)
|
|
{
|
|
ResponseModel<List<ADSNetLibrary.SIGAPI.Models.RH.Response.ResponseGetPersonal>> retorno = new ResponseModel<List<ADSNetLibrary.SIGAPI.Models.RH.Response.ResponseGetPersonal>>();
|
|
using (Helpers.ADSSqlite.SqlLiteBase bd = new Helpers.ADSSqlite.SqlLiteBase())
|
|
{
|
|
Conexion.Local.RHRepository rhrepo = new Conexion.Local.RHRepository(bd);
|
|
retorno.Result = rhrepo.GETPersonal(cveSubProyecto);
|
|
}
|
|
return retorno.Result;
|
|
}
|
|
public List<ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.PersonalChecador> GetChecadorEmpleado(int CveChecador, int CveEmpresa = -1)
|
|
{
|
|
List<ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.PersonalChecador> retorno = null;
|
|
using (Helpers.ADSSqlite.SqlLiteBase bd = new Helpers.ADSSqlite.SqlLiteBase())
|
|
{
|
|
Conexion.Local.RHRepository rhrepo = new Conexion.Local.RHRepository(bd);
|
|
List<Modelos.Checador.Checadormodel> devicelist = rhrepo.GETChecadores(-1);
|
|
foreach (Modelos.Checador.Checadormodel devicemodel in devicelist)
|
|
{
|
|
if (devicemodel.cveChecador == CveChecador)
|
|
{
|
|
|
|
using (ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.ApiZKTeco device = new ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.ApiZKTeco(devicemodel.iPLocal, devicemodel.puerto.ToEntero()))
|
|
{
|
|
var registros = device.GetChecadorEmpleado();
|
|
if (registros != null && registros.IsSuccess)
|
|
{
|
|
retorno = registros.Result;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return retorno;
|
|
}
|
|
|
|
|
|
public bool AddChecadorEmpleado(int cveChecador, ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.PersonalChecador personal, string sCardnumber = "0", int CveEmpresa = -1)
|
|
{
|
|
|
|
bool retorno = false;
|
|
using (Helpers.ADSSqlite.SqlLiteBase bd = new Helpers.ADSSqlite.SqlLiteBase())
|
|
{
|
|
Conexion.Local.RHRepository rhrepo = new Conexion.Local.RHRepository(bd);
|
|
List<Modelos.Checador.Checadormodel> devicelist = rhrepo.GETChecadores(-1);
|
|
foreach (Modelos.Checador.Checadormodel devicemodel in devicelist)
|
|
{
|
|
if (devicemodel.cveChecador == cveChecador)
|
|
{
|
|
|
|
using (ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.ApiZKTeco device = new ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.ApiZKTeco(devicemodel.iPLocal, devicemodel.puerto.ToEntero()))
|
|
{
|
|
var registros = device.AddChecadorEmpleado(personal,sCardnumber);
|
|
if (registros != null && registros.IsSuccess)
|
|
{
|
|
retorno = registros.Result;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return retorno;
|
|
}
|
|
public bool SetPersonalChecador(List<ADSNetLibrary.SIGAPI.Models.RH.Request.RequestPersonalChecadorUp> empleados, int CveEmpresa = -1)
|
|
{
|
|
using (Helpers.ADSSqlite.SqlLiteBase bd = new Helpers.ADSSqlite.SqlLiteBase())
|
|
{
|
|
Conexion.Local.RHRepository rhrepo = new Conexion.Local.RHRepository(bd);
|
|
//List<ChecadorPersonal> chekpersonal = new List<ChecadorPersonal>();
|
|
//List<Modelos.Checador.Checadormodel> devicelist = rhrepo.GETChecadores(-1);
|
|
//foreach (Modelos.Checador.Checadormodel devicemodel in devicelist)
|
|
//{
|
|
// ChecadorController.ApiChecadorBase device = new ChecadorController.ApiZKTeco(devicemodel.iPLocal, devicemodel.puerto.ToEntero());
|
|
// var registros = device.GetChecadorEmpleado();
|
|
// if (registros != null && registros.IsSuccess)
|
|
// {
|
|
// chekpersonal.Add(new ChecadorPersonal() { checador = devicemodel, personal = registros.Result });
|
|
// }
|
|
//}
|
|
|
|
|
|
|
|
try
|
|
{
|
|
|
|
Conexion.SIG.RHSIG rhsig = new Conexion.SIG.RHSIG();
|
|
var checks = rhsig.UpPersonalChecador(empleados);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
foreach (var item in empleados)
|
|
{
|
|
rhrepo.UPPersonalChecador(item.CvePersonal, item.cveChecador, item.checadorID);
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
}
|
|
public ResponseLogin Login(RequestLogin parames)
|
|
{
|
|
UsuarioSIG Usig = new UsuarioSIG();
|
|
ResponseModel<ResponseLogin> usuario = Usig.Login(parames);
|
|
return usuario.Result;
|
|
}
|
|
public List<ResponseSubProyectoUsuario> GetSubProyectos(RequestSubProyectoUsuario parames)
|
|
{
|
|
PlaneacionSIG planeasig = new PlaneacionSIG();
|
|
ResponseModel<List<ResponseSubProyectoUsuario>> planea = planeasig.GetSubProyectos(parames);
|
|
return planea.Result;
|
|
}
|
|
}
|
|
class ChecadorPersonal
|
|
{
|
|
public int CveChecador { get { if (checador != null) { return checador.cveChecador; } else { return 0; } } }
|
|
public Modelos.Checador.Checadormodel checador { get; set; }
|
|
public List<ADSNetLibrary.Helpers.Conexiones.ZkTeckoLib.PersonalChecador> personal { get; set; }
|
|
}
|
|
} |