protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            barco actual = Global.b.barcoList().Find(b2 => b2.Nombre == DropDownList1.SelectedItem.Text);

            GridView1.DataSource = Global.b.tripulacion(actual);
            GridView1.DataBind();
        }
示例#2
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);
            }
        }
示例#3
0
        public DataTable barcoLog(string b3, DateTime d)
        {
            barco     b     = db.Barcos.Find(b2 => b2.Nombre == b3);
            int       mes   = d.Month;
            int       anio  = d.Year;
            int       costo = 0;
            DataTable table = new DataTable();

            table.Columns.Add("Fecha", typeof(DateTime));
            table.Columns.Add("Tipo", typeof(string));
            table.Columns.Add("Encargado", typeof(string));
            table.Columns.Add("Detalle", typeof(string));
            table.Columns.Add("Costo", typeof(int));

            foreach (registroMantenimiento item in b.LogMantenimientos)
            {
                if (item.Timestamp.Month == mes && item.Timestamp.Year == anio)
                {
                    DataRow row = table.NewRow();
                    row["Fecha"]     = item.Timestamp;
                    row["Encargado"] = item.Encargado.Nombre;
                    row["Tipo"]      = "Mantenimiento";
                    row["Detalle"]   = item.Descripcion;
                    row["Costo"]     = item.Costo;
                    costo           += item.Costo;
                    table.Rows.Add(row);
                }
            }
            foreach (registroReparacion item in b.LogReparaciones)
            {
                if (item.Timestamp.Month == mes && item.Timestamp.Year == anio)
                {
                    DataRow row = table.NewRow();
                    row["Fecha"]     = item.Timestamp;
                    row["Encargado"] = item.Encargado.Nombre;
                    row["Tipo"]      = "Reparacion";
                    row["Detalle"]   = item.Descripcion;
                    table.Rows.Add(row);
                }
            }
            DataRow row2 = table.NewRow();
            DataRow row3 = table.NewRow();

            table.Rows.Add(row3);
            row2["Encargado"] = "TOTAL";
            row2["Tipo"]      = "---";
            row2["Detalle"]   = "---";
            row2["Costo"]     = costo;
            table.Rows.Add(row2);
            return(table);
        }
示例#4
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            encargado auth = (encargado)Session["auth"];

            if (auth == null)
            {
                label.Text = "Debe ingresar al sistema.";
            }
            else if (auth.Permisos < 1)
            {
                label.Text = "No cuenta con los permisos necesarios para completar la operacion.";
                registroMantenimiento rr = new registroMantenimiento();
                rr.Mantenimiento = Global.b.listaMantenimiento().Find(m => m.Descripcion == DropDownList2.SelectedItem.Text);
                barco actual = Global.b.barcoList().Find(b2 => b2.Nombre == DropDownList1.SelectedItem.Text);
                if (actual.GetType() == typeof(barcoLento))
                {
                    rr.Costo = rr.Mantenimiento.PrecioBase + ((barcoLento)actual).Adicional;
                }
                if (actual.GetType() == typeof(barcoRapido))
                {
                    rr.Costo = Convert.ToInt32(rr.Mantenimiento.PrecioBase * 1.3) + 100;
                }

                rr.Descripcion = TextBox2.Text;
                rr.Encargado   = auth;
                Global.b.registrarMantenimeinto(rr, actual, auth);
            }
            else
            {
                try
                {
                    registroMantenimiento rr = new registroMantenimiento();
                    rr.Mantenimiento = Global.b.listaMantenimiento().Find(m => m.Descripcion == DropDownList2.SelectedItem.Text);
                    barco actual = Global.b.barcoList().Find(b2 => b2.Nombre == DropDownList1.SelectedItem.Text);
                    if (actual.GetType() == typeof(barcoLento))
                    {
                        rr.Costo = rr.Mantenimiento.PrecioBase + ((barcoLento)actual).Adicional;
                    }
                    if (actual.GetType() == typeof(barcoRapido))
                    {
                        rr.Costo = Convert.ToInt32(rr.Mantenimiento.PrecioBase * 1.3) + 100;
                    }

                    rr.Descripcion = TextBox2.Text;
                    rr.Encargado   = auth;
                    Global.b.registrarMantenimeinto(rr, actual, auth);
                    label.Text = "Registro creado!";
                }
                catch { }
            }
        }
示例#5
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);
            }
        }
示例#6
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);
            }
        }
示例#7
0
        public DataTable tripulacion(barco b)
        {
            DataTable table = new DataTable();

            table.Columns.Add("CI", typeof(int));
            table.Columns.Add("FechaIngreso", typeof(DateTime));
            table.Columns.Add("Nombre", typeof(string));
            table.Columns.Add("Rol", typeof(string));
            foreach (tripulante item in b.Tripulacion)
            {
                DataRow row = table.NewRow();
                row["CI"]           = item.Ci;
                row["FechaIngreso"] = item.FechaIngreso;
                row["Nombre"]       = item.Nombre;
                if (item.Rol == 1)
                {
                    row["Rol"] = "Capitan";
                }
                if (item.Rol == 2)
                {
                    row["Rol"] = "Oficial de cubierta";
                }
                if (item.Rol == 3)
                {
                    row["Rol"] = "Piloto";
                }
                if (item.Rol == 4)
                {
                    row["Rol"] = "Comisario de a bordo";
                }
                if (item.Rol == 5)
                {
                    row["Rol"] = "Jefe de Maquinas";
                }
                if (item.Rol == 6)
                {
                    row["Rol"] = "Servicios";
                }
                table.Rows.Add(row);
            }
            return(table);
        }
示例#8
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>());
            }
        }
示例#9
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);
            }
        }