protected void BindByDataRow(DataRow dr, Personal_registro_ext o) { try { int.TryParse(dr["id"].ToString(), out entero); o.Id = entero; entero = 0; if (dr["id_personal_registro"] != DBNull.Value) { int.TryParse(dr["id_personal_registro"].ToString(), out entero); o.Id_personal_registro = entero; entero = 0; } o.Motivo = dr["motivo"].ToString(); } catch { throw; } }
public override void fillLst() { try { this.comm = GenericDataAccess.CreateCommandSP("sp_Personal_registro_ext"); addParameters(0); this.dt = GenericDataAccess.ExecuteSelectCommand(comm); this._lst = new List <Personal_registro_ext>(); foreach (DataRow dr in dt.Rows) { Personal_registro_ext o = new Personal_registro_ext(); BindByDataRow(dr, o); this._lst.Add(o); } } catch { throw; } }
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); }
public Personal_registro_extMng() { this._oPersonal_registro_ext = new Personal_registro_ext(); this._lst = new List <Personal_registro_ext>(); }