示例#1
0
        /// <summary>
        /// Método que abre una organización 
        /// </summary>
        /// <param name="tipo">Tipo de organización</param>
        /// <param name="nombre">Nombre de la base de datos</param>
        /// <param name="us">Log in de usuario</param>
        /// <param name="listEnt">Lista de entidades a insertar si se creó una nueva organizacion</param>
        /// <param name="nueva">variable booleana para indicar si la organización es nueva,si es true crea un usuario,de lo contrario 
        /// inicia con uno previamente validado</param>
        public void abreOrganizacion(char tipo,string nombre,Usuario us,List<Entidad>listEnt,bool nueva)
        {
            switch (tipo)
            {
                case 's':
                case 'S':
                    this.Org = new Secuencial(nombre + ".scl", us);
                    if (nueva)
                    {
                        this.Org.altaUsuario(new Usuario("admin", "admin", new bool[] { true, true, true, true }, new DateTime(01,01,0001), new DateTime(01, 01,0001)));
                        this.Org.altaUsuario(us);
                    }

                    if (this.Org != null)
                    {
                        if (listEnt != null)
                        {
                            ((Secuencial)this.Org).agregaEntidades(listEnt);
                        }

                    }
                break;
                case 'm':
                case 'M':

                break;
            }
            this.actualizaControles(us);
        }
示例#2
0
 public Organizacion(string nombre, Usuario us, string tipo)
 {
     this.Nombre = nombre;
     this.Tipo = tipo;
     this.inicializa();
     this.Us = us;
 }
示例#3
0
        //-----------------------------------------------------USUARIOS-----------------------------------------------------
        //-----------------------------------------------------USUARIOS-----------------------------------------------------
        //-----------------------------------------------------USUARIOS-----------------------------------------------------
        //-----------------------------------------------------USUARIOS-----------------------------------------------------
        public static long altaUsuario(string path, Usuario us)
        {
            long pos = 0;

            try
            {
                using (FileStream fs = new FileStream(path, FileMode.Append))
                {
                    pos = fs.Position;
                    escribeUsuario(fs, us);
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
                pos = 0;
            }

            return pos;
        }
示例#4
0
 public void cambiaUsuario(Usuario usr)
 {
     this.Us = usr;
 }
示例#5
0
        public bool altaUsuario(Usuario us)
        {
            bool band = false;

            if (us != null)
            {
                band = us.altaUsuario(this.ruta.Remove(this.ruta.Length - 4) + ".usr");
            }

            return band;
        }
示例#6
0
        public bool verificaUsuario(Usuario aUsr)
        {
            bool band = false;

            if ((aUsr.nombre.Equals("admin") && aUsr.vigFin.ToShortDateString() == "01/01/0001") || aUsr.vigFin.CompareTo(DateTime.Now) > 0)
            {
                band = true;
            }
            else
            {
                MessageBox.Show("El usuario no está vigente");
            }

            return band;
        }
示例#7
0
 public void actualizaControles(Usuario us)
 {
     this.ControlDatos.actualizaUsuario(us.nombre);
     if (us.consulta)
     {
         this.controlEnt.agregaEntidades(this.Org.entidades());
     }
     else
     {
         this.controlEnt.limpiaControl();
         this.controlDatos.limpiaControl();
         this.controlAtr.limpiaControl();
     }
     this.controlArch.RefreshArch();
 }
示例#8
0
        void agregaUsuarios_Click(object sender, EventArgs e)
        {
            Usuario us = null;
            dUser dUsr;

            if (this.ventanaPrinc.orgAbierta)
            {
                dUsr = new dUser();
                dUsr.privilegios(true);
                dUsr.ShowDialog();
                if (dUsr.DialogResult == DialogResult.OK)
                {
                    if (!dUsr.nombre.Equals("") && !dUsr.contraseña.Equals(""))
                    {
                        us = new Usuario(dUsr.nombre, dUsr.contraseña, dUsr.priv, dUsr.vigIni, dUsr.vigFin);
                        if (this.ventanaPrinc.orgAbierta)
                        {
                            this.ventanaPrinc.org.altaUsuario(us);
                        }
                    }
                }
                dUsr.Dispose();
            }
        }
示例#9
0
        private static bool escribeUsuario(FileStream fs, Usuario us)
        {
            bool band = false;
            using (BinaryWriter bw = new BinaryWriter(fs))
            {
                bw.Write(us.nombre);
                bw.Write(us.contraseña);
                foreach (bool p in us.permisos)
                {
                    bw.Write(p);
                }
                bw.Write(us.vigIni.ToShortDateString());
                bw.Write(us.vigFin.ToShortDateString());
                bw.Write(us.sigUs);
                band = true;
            }

            return band;
        }
示例#10
0
        public static bool reescribeUsuario(string path, Usuario us, long pos)
        {
            bool band = false;

            try
            {
                using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Write))
                {
                    fs.Seek(pos, SeekOrigin.Begin);
                    band = escribeUsuario(fs, us);
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
                band = false;
            }

            return band;
        }
示例#11
0
        public static Usuario leeUsuario(string path, long pos)
        {
            string nombre;
            string psw;
            DateTime dateIni, dateFin;
            bool[] permisos = new bool[4];
            long sig;
            Usuario usr = null;

            try
            {
                using (FileStream fs = new FileStream(path, FileMode.Open))
                {
                    fs.Seek(pos, SeekOrigin.Begin);
                    using (BinaryReader br = new BinaryReader(fs))
                    {
                        nombre = br.ReadString();
                        psw = br.ReadString();
                        for (int i = 0; i < 4; i++)
                        {
                            permisos[i] = br.ReadBoolean();
                        }
                        dateIni = DateTime.Parse(br.ReadString());
                        dateFin = DateTime.Parse(br.ReadString());
                        sig = br.ReadInt64();
                    }
                }
                usr = new Usuario(nombre, psw, permisos, dateIni, dateFin);
                usr.sigUs = sig;
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            return usr;
        }
示例#12
0
 public Secuencial(string nombre, Usuario us)
     : base(nombre, us, "Secuencial")
 {
 }