Esempio n. 1
0
        private static Personal_qr PersonalQRAdd(IDbTransaction trans, Personal o)
        {
            Personal_qr oPQr = new Personal_qr()
            {
                Id_personal = o.Id, Idf = o.PQr.Idf
            };

            try
            {
                Personal_qrMng oPQrMng = new Personal_qrMng();
                oPQrMng.O_Personal_qr = oPQr;
                oPQrMng.add(trans);

                Personal_qr_pivoteMng oPQRPivMng = new Personal_qr_pivoteMng();
                Personal_qr_pivote    oPQRPiv    = new Personal_qr_pivote()
                {
                    Idf = o.PQr.Idf
                };
                oPQRPivMng.O_Personal_qr_pivote = oPQRPiv;
                oPQRPivMng.dltByIdf(trans);
            }
            catch
            {
                throw;
            }
            return(oPQr);
        }
Esempio n. 2
0
 protected void BindByDataRow(DataRow dr, Personal_qr o)
 {
     try
     {
         int.TryParse(dr["id"].ToString(), out entero);
         o.Id   = entero;
         entero = 0;
         o.Idf  = dr["idf"].ToString();
         if (dr["id_personal"] != DBNull.Value)
         {
             int.TryParse(dr["id_personal"].ToString(), out entero);
             o.Id_personal = entero;
             entero        = 0;
         }
         if (dr["fecha_alta"] != DBNull.Value)
         {
             DateTime.TryParse(dr["fecha_alta"].ToString(), out fecha);
             o.Fecha_alta = fecha;
             fecha        = default(DateTime);
         }
     }
     catch
     {
         throw;
     }
 }
Esempio n. 3
0
        public static void PersonalUdt(Personal o, int id_usuario)
        {
            IDbTransaction trans = null;

            try
            {
                Personal oAnt = PersonalCtrl.PersonalGet(o.Id);

                //Comienza la transanccion
                trans = GenericDataAccess.BeginTransaction();
                PersonalMng oMng = new PersonalMng();
                oMng.O_Personal = o;
                oMng.udt(trans);

                Personal_qrMng oPQRMng = new Personal_qrMng();
                Personal_qr    oPQR    = new Personal_qr()
                {
                    Id_personal = o.Id
                };
                oPQRMng.O_Personal_qr = oPQR;
                oPQRMng.dltByIdPersonal(trans);

                o.PQr = PersonalQRAdd(trans, o);

                if (string.Compare(oAnt.PQr.Idf, o.PQr.Idf) != 0)
                {
                    PersonalUdtFiles(oAnt, o);
                }
                //else
                //    PersonalAddFiles(o.lstArchivos, o, trans);

                if (o.lstArchivos.Count > 0)
                {
                    Personal_archivosMng oPAMng = new Personal_archivosMng();
                    Personal_archivos    oPA    = new Personal_archivos()
                    {
                        Id_personal = o.Id
                    };
                    oPAMng.O_Personal_archivos = oPA;
                    oPAMng.dltByIdPersonal(trans);

                    PersonalAddFiles(o.lstArchivos, o, trans);
                }
                GenericDataAccess.CommitTransaction(trans);
            }
            catch
            {
                if (trans != null)
                {
                    GenericDataAccess.RollbackTransaction(trans);
                }
                throw;
            }
        }
Esempio n. 4
0
        public static Personal_qr PersonalQRGetByIdPersona(int id_persona)
        {
            Personal_qr oPQr = new Personal_qr()
            {
                Id_personal = id_persona
            };

            try
            {
                Personal_qrMng oPQrMng = new Personal_qrMng();
                oPQrMng.O_Personal_qr = oPQr;
                oPQrMng.selByIdPersonal();
            }
            catch
            {
                throw;
            }
            return(oPQr);
        }
Esempio n. 5
0
 public override void fillLst()
 {
     try
     {
         this.comm = GenericDataAccess.CreateCommandSP("sp_Personal_qr");
         addParameters(0);
         this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
         this._lst = new List <Personal_qr>();
         foreach (DataRow dr in dt.Rows)
         {
             Personal_qr o = new Personal_qr();
             BindByDataRow(dr, o);
             this._lst.Add(o);
         }
     }
     catch
     {
         throw;
     }
 }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 public Personal_qrMng()
 {
     this._oPersonal_qr = new Personal_qr();
     this._lst          = new List <Personal_qr>();
 }
Esempio n. 8
0
        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);
        }