示例#1
0
        public encargado login(Int32 ci, String clave)
        {
            logItem ee = new logItem();

            encargado e = db.Encargados.Find(e2 => e2.Ci == ci);

            ee.Encargado = e;

            if (e != null)
            {
                if (e.Password == clave)
                {
                    ee.Operacion = "Ingreso.";
                    db.Log.Add(ee);
                    return(e);
                }
                else
                {
                    ee.Operacion = "Ingreso fallido: Clave incorrecta";
                    db.Log.Add(ee);
                    EmailException e2 = new EmailException(ee);
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
示例#2
0
        public EmailException(logItem e)
        {
            MailMessage msg = new MailMessage();

            msg.From = new MailAddress("*****@*****.**");
            msg.To.Add("*****@*****.**");
            msg.To.Add("*****@*****.**");
            msg.Subject = "El encargado " + e.Encargado.Nombre + " ha intentado violar el sistema";
            msg.Body    = "Se adjunta la informacion de la excepcion: \n" + e.ToString();

            //msg.Attachments.Add(new Attachment(attachedFile));

            SmtpClient smt = new SmtpClient();

            smt.Host = "smtp.gmail.com";
            System.Net.NetworkCredential ntcd = new NetworkCredential();
            ntcd.UserName   = "******";
            ntcd.Password   = "******";
            smt.Credentials = ntcd;
            smt.EnableSsl   = true;
            smt.Port        = 587;
            smt.Send(msg);

            System.Diagnostics.Debug.WriteLine("Your Mail is sended");
        }
示例#3
0
        /// <summary>
        /// Asigna tripulante a un barco
        /// </summary>
        /// <param name="barco">Barco a asignarle tripulacion</param>
        /// <param name="encargado">Encargado de la asignacion</param>
        /// <param name="tripulante">Tripulante a asignar</param>
        public int asignarTripulante(string b, encargado encargado, string t)
        {
            barco      barco      = db.Barcos.Find(b2 => b2.Nombre == b);
            tripulante tripulante = db.Tripulantes.Find(t2 => t2.Nombre == t);
            logItem    e          = new logItem();

            e.Encargado  = encargado;
            e.Barco      = barco;
            e.Tripulante = tripulante;
            e.Operacion  = "Asignacion de tripulante";
            bool chequeo = true;

            if (encargado.Permisos > 0)
            {
                if (db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).Tripulacion.Count >= db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).CapacidadTripulantes)
                {
                    chequeo = false;
                    return(2);
                }
                if (db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).Tripulacion.Find(t3 => t3.Nombre == tripulante.Nombre) != null)
                {
                    chequeo = false;
                    return(3);
                }
                if (db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).Tripulacion.FindAll(e2 => e2.Rol == 1).Count > 1)
                {
                    chequeo = false;
                    return(4);
                }

                foreach (barco b22 in db.Barcos)
                {
                    if (b22.Tripulacion.Find(t2 => t2.Nombre == tripulante.Nombre) != null)
                    {
                        b22.Tripulacion.Remove(b22.Tripulacion.Find(t2 => t2.Nombre == tripulante.Nombre));
                    }
                }


                if (chequeo == true)
                {
                    db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).Tripulacion.Add(tripulante);
                    db.Log.Add(e);
                    guardardb();
                    return(1);
                }
                else
                {
                    return(5);
                }
            }
            else
            {
                EmailException ee = new EmailException(e);
                return(0);
            }
        }
示例#4
0
        /// <summary>
        /// Editar permisos de un encargado
        /// </summary>
        /// <param name="encargado">Encargado responsable</param>
        /// <param name="encargadoAEditar">Encargado a editar</param>
        /// <param name="permisoNuevo">Nuevo codigo de permiso</param>
        public void editarPermiso(encargado encargado, encargado encargadoAEditar, int permisoNuevo)
        {
            logItem e = new logItem();

            e.Encargado = encargado;
            e.Operacion = "Edicion de permisos del encargado: " + encargadoAEditar.Nombre;
            if (encargado.Permisos > 2)
            {
                db.Encargados.Find(e2 => e2.Nombre == encargadoAEditar.Nombre).Permisos = permisoNuevo;
                db.Log.Add(e);
                guardardb();
            }
            else
            {
                EmailException ee = new EmailException(e);
            }
        }
示例#5
0
        public void initEncargado(encargado e)
        {
            logItem ee = new logItem();

            ee.Encargado = e;
            ee.Operacion = "Inicializacion de encargado: " + e.Nombre;
            if (db.Encargados.Count == 0)
            {
                db.Log.Add(ee);
                db.Encargados.Add(e);
                guardardb();
            }
            else
            {
                EmailException eee = new EmailException(ee);
            }
        }
示例#6
0
        /// <summary>
        /// Crear nuevo tipo de mantenimeinto.
        /// </summary>
        /// <param name="mantenimiento">Mantenimiento a guardar.</param>
        /// <param name="encargado">Encargado creador del mantenimeinto.</param>
        public void createMantenimiento(mantenimiento mantenimiento, encargado encargado)
        {
            logItem e = new logItem();

            e.Mantenimiento = mantenimiento;
            e.Encargado     = encargado;
            e.Operacion     = "Creacion de mantenimiento";
            if (encargado.Permisos > 1)
            {
                db.Mantenimientos.Add(mantenimiento);
                db.Log.Add(e);
                guardardb();
            }
            else
            {
                EmailException ee = new EmailException(e);
            }
        }
示例#7
0
        ////////PUBLIC METHODS///////////////WRITE METHODS///////

        /// <summary>
        /// Guarda Nuevo Barco
        /// </summary>
        /// <param name="barco">Barco a guardar.</param>
        /// <param name="encargado">Encargado creador del mismo.</param>
        public void createBarco(barco barco, encargado encargado)
        {
            logItem e = new logItem();

            e.Barco     = barco;
            e.Encargado = encargado;
            e.Operacion = "Creacion de barco";
            if (encargado.Permisos > 1)
            {
                db.Barcos.Add(barco);
                db.Log.Add(e);
                guardardb();
            }
            else
            {
                EmailException ee = new EmailException(e);
            }
        }
示例#8
0
        /// <summary>
        /// Crear nuevo encargado
        /// </summary>
        /// <param name="newEncargado">Nuevo encargado a ingresar.</param>
        /// <param name="encargado">encargado que ingresa nuevo encargado.</param>
        public void createEncargado(encargado newEncargado, encargado encargado)
        {
            logItem e = new logItem();

            e.Encargado = encargado;
            e.Operacion = "Creacion de encargado: " + newEncargado.Nombre;

            if (encargado.Permisos > 2)
            {
                db.Encargados.Add(newEncargado);
                db.Log.Add(e);
                guardardb();
            }
            else
            {
                EmailException ee = new EmailException(e);
            }
        }
示例#9
0
        /// <summary>
        /// Crear nuevo tripulante
        /// </summary>
        /// <param name="tripulante">Tripulante a ser ingresado.</param>
        /// <param name="encargado">Encargado responsable de la edicion.</param>
        public void createTripulante(tripulante tripulante, encargado encargado)
        {
            logItem e = new logItem();

            e.Tripulante = tripulante;
            e.Encargado  = encargado;
            e.Operacion  = "Creacion de tripulante";
            if (encargado.Permisos > 1)
            {
                db.Log.Add(e);
                db.Tripulantes.Add(tripulante);
                guardardb();
            }
            else
            {
                EmailException ee = new EmailException(e);
            }
        }
示例#10
0
        /// <summary>
        /// Registrar un nuevo mantenimiento a barco
        /// </summary>
        /// <param name="rmantenimiento">Solicitud de manetenimiento</param>
        /// <param name="barco">Barco a realizar el mantenimiento</param>
        /// <param name="encargado">Encargado que ingresa la solicitud.</param>
        public void registrarMantenimeinto(registroMantenimiento rmantenimiento, barco barco, encargado encargado)
        {
            logItem e = new logItem();

            e.Encargado             = encargado;
            e.Barco                 = barco;
            e.registroMantenimiento = rmantenimiento;
            e.Operacion             = "Asignacion de mantenimiento";
            if (encargado.Permisos > 0)
            {
                db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).LogMantenimientos.Add(rmantenimiento);
                db.Log.Add(e);
                guardardb();
            }
            else
            {
                EmailException ee = new EmailException(e);
            }
        }
示例#11
0
        /// <summary>
        /// Lista la tripulacion
        /// </summary>
        /// <param name="barco">Barco a listar la tripulacion</param>
        /// <param name="encargado">Encargado que realiza la consulta</param>
        /// <returns>Lista de tripulantes del barco.</returns>
        public List <tripulante> listarTripulacion(barco barco, encargado encargado)
        {
            logItem e = new logItem();

            e.Encargado = encargado;
            e.Barco     = barco;
            e.Operacion = "Consulta de tripulacion";
            if (encargado.Permisos > 0)
            {
                List <tripulante> t = db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).Tripulacion;
                db.Log.Add(e);
                guardardb();
                return(t);
            }
            else
            {
                EmailException ee = new EmailException(e);
                return(new List <tripulante>());
            }
        }
示例#12
0
        /// <summary>
        /// Registrar reparacion
        /// </summary>
        /// <param name="rreparacion">Registro de reparacion</param>
        /// <param name="b">Barco reparado</param>
        /// <param name="encargado">Encargado del reporte</param>
        public void registrarReparacion(registroReparacion rreparacion, string b, encargado encargado)
        {
            barco   barco = db.Barcos.Find(b2 => b2.Nombre == b);
            logItem e     = new logItem();

            e.Encargado          = encargado;
            e.Barco              = barco;
            e.registroReparacion = rreparacion;
            e.Operacion          = "Alta de reparacion";
            if (encargado.Permisos > 0)
            {
                db.Barcos.Find(b2 => b2.Nombre == barco.Nombre).LogReparaciones.Add(rreparacion);
                db.Log.Add(e);
                guardardb();
            }
            else
            {
                EmailException ee = new EmailException(e);
            }
        }