public static Personal PersonalGet(int Id) { Personal o = new Personal(); try { o.Id = Id; PersonalMng oMng = new PersonalMng(); oMng.O_Personal = o; oMng.selById(); Personal_archivosMng oPAMng = new Personal_archivosMng(); Personal_archivos oPA = new Personal_archivos() { Id_personal = Id }; oPAMng.O_Personal_archivos = oPA; oPAMng.selByIdPersonal(); o.lstArchivos = oPAMng.Lst; o.PQr = PersonalQRGetByIdPersona(Id); } catch { throw; } return(o); }
public static Personal PersonalUltimoRegistroPorBodega(int id_bodega) { Personal oP = new Personal(); try { Personal_registro oPR = new Personal_registro() { Id_bodega = id_bodega }; Personal_registroMng oPRMng = new Personal_registroMng() { O_Personal_registro = oPR }; oPRMng.selUltPorBodega(); Personal_qr oPQr = new Personal_qr() { Id_personal = oPR.Id_personal }; Personal_qrMng oPQrMng = new Personal_qrMng() { O_Personal_qr = oPQr }; oPQrMng.selByIdPersonal(); oP.PQr = oPQr; oP.Id = oPQr.Id_personal; PersonalMng oPMng = new PersonalMng() { O_Personal = oP }; oPMng.selById(); oP.PerReg = oPR; } catch { throw; } return(oP); }
public static Personal_qr PersonalRegistro(Personal_qr o) { bool cumpleReglas = false; IDbTransaction trans = null; try { Personal_qrMng oPQrMng = new Personal_qrMng() { O_Personal_qr = o }; oPQrMng.selByIdf(); Personal_registro oPreg = new Personal_registro() { Id_personal = o.Id_personal, Id_bodega = o.Id_bodega }; Personal_registroMng oMng = new Personal_registroMng() { O_Personal_registro = oPreg }; oMng.selByIdPersona(); Personal oPer = new Personal() { Id = o.Id_personal }; PersonalMng oPerMng = new PersonalMng() { O_Personal = oPer }; oPerMng.selById(); o.PPersonal = oPer; Personal_regla_rol oPerRegRol = new Personal_regla_rol() { Id_personal_rol = oPer.Id_personal_rol }; Personal_regla_rolMng oPerRegRolMng = new Personal_regla_rolMng() { O_Personal_regla_rol = oPerRegRol }; oPerRegRolMng.selByIdPersonalRol(); foreach (Personal_regla_rol itemPRR in oPerRegRolMng.Lst) { Personal_regla oPRegla = new Personal_regla() { Id = itemPRR.Id_personal_regla }; Personal_reglaMng oPregMng = new Personal_reglaMng() { O_Personal_regla = oPRegla }; oPregMng.selById(); TimeSpan ts = DateTime.Now - oPreg.Fecha_hora; int valor = Convert.ToInt32(oPRegla.Valor); if (ts.TotalMinutes > valor) { cumpleReglas = true; } else { o.Mensaje = oPRegla.Mensaje.Replace("{{valor}}", Math.Round(Math.Abs(ts.TotalMinutes - valor), 0).ToString()); } } if (!oPer.IsActive) { o.Mensaje = "El personal está dado de baja y no puede acceder a la sede, favor de verificar con el área de Recursos Humanos"; } else if (oPer.Boletinado) { o.Mensaje = "El personal está boletinado y no puede acceder a ninguna sede, favor de verificar con el área de Recursos Humanos"; } else if (cumpleReglas) { switch (o.Id_registro_tipo) { case 1: //Registro de eventos ordinarios oMng.add(); o.PPerReg = oPreg; o.Mensaje = "Registro Exitoso"; break; case 2: //Registro Extraordinario con motivo trans = GenericDataAccess.BeginTransaction(); oMng.add(trans); Personal_registro_extMng oExtMng = new Personal_registro_extMng(); Personal_registro_ext oExt = new Personal_registro_ext() { Id_personal_registro = oPreg.Id, Motivo = o.Motivo }; oExtMng.O_Personal_registro_ext = oExt; oExtMng.add(trans); GenericDataAccess.CommitTransaction(trans); o.PPerReg = oPreg; o.Mensaje = "Registro Exitoso"; break; case 3: //Registro de horas extras, validar que tenga sus cuatro registros ordinarios previos if (oMng.getRecordsByIdPersona() < 4) { o.Mensaje = "El personal no puede cubrir un horario extra por que no cuenta con sus 4 registros"; } else { oMng.add(); o.PPerReg = oPreg; o.Mensaje = "Registro Exitoso"; } break; default: break; } } } catch { if (trans != null) { GenericDataAccess.RollbackTransaction(trans); } throw; } return(o); }