Beispiel #1
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;
            }
        }