//<summary> //Metodo encargado de agregar un nuevo proyecto al archivo //</summary> public Boolean agregarProyecto(Proyecto proyecto) { XmlNode root = xmlDocumentP.DocumentElement; XmlElement nodoProyecto = xmlDocumentP.CreateElement("proyecto"); nodoProyecto.SetAttribute("codigo", proyecto.Codigo); nodoProyecto.SetAttribute("nombre", proyecto.Nombre); nodoProyecto.SetAttribute("fechaInicio", obtenerFechaString(proyecto.FechaInicio)); nodoProyecto.SetAttribute("fechaFin", obtenerFechaString(proyecto.FechaFin)); nodoProyecto.SetAttribute("presupuesto", String.Concat(proyecto.Presupuesto)); root.AppendChild(nodoProyecto); Boolean resultado = true; try { xmlDocumentP.Save(rutaProyecto); } catch (XmlException) { resultado = false; } return resultado; }
/// <summary> /// Karen Guillén A /// 13/05/2020 /// Metodo para insertar proyectos /// </summary> public int Insertar(Proyecto proyecto) { SqlConnection sqlConnection = conexion.ConexionControlAsistentes(); SqlCommand sqlCommand = new SqlCommand("insert into Proyecto (nombre, descripcion, fecha_inicio, fecha_finalizacion, disponible, finalizado " + "VALUES (@nombre, @descripcion, @fecha_inicio, @fecha_finalizacion, @disponible, @finalizado ));", sqlConnection); sqlCommand.Parameters.AddWithValue("@nombre", proyecto.nombre); sqlCommand.Parameters.AddWithValue("@descripcion", proyecto.descripcion); sqlCommand.Parameters.AddWithValue("@fecha_inicio", proyecto.nombre); sqlCommand.Parameters.AddWithValue("@fecha_finalizacion", proyecto.descripcion); sqlCommand.Parameters.AddWithValue("@disponible", proyecto.disponible); sqlCommand.Parameters.AddWithValue("@finalizado", proyecto.finalizado); sqlConnection.Open(); int idProyecto = (int)sqlCommand.ExecuteScalar(); sqlConnection.Close(); //int insertaAsistente = InsertarAsistenteProyecto(proyecto.asistente.idAsistente, proyecto.idProyecto); return(idProyecto); }
/// <summary> /// Borra las tareas de un proyecto en el las horas logueadas por el usuario /// es 0, o no fueron logueadas por ese usuario /// </summary> /// <param name="proyecto"></param> public static void EliminarDetalleRecursoProyectoNoLogueados(Proyecto proyecto) { using (var bd = new DescarEntity()) { var noborrar = (from s in bd.Detalle_recurso join ap in bd.Actividad_proyecto on s.id_actividad_proyecto equals ap.id_actividad_proyecto join cmh in bd.Cuerpo_movimiento_hora on ap.id_actividad_proyecto equals cmh.id_cuerpo_movimiento_hora join mh in bd.Movimiento_hora on cmh.id_movimiento_hora equals mh.id_movimiento_hora where ap.id_proyecto.Value == proyecto.id_proyecto && s.id_usuario == mh.id_usuario select s); var todas = (from s in bd.Detalle_recurso join ap in bd.Actividad_proyecto on s.id_actividad_proyecto equals ap.id_actividad_proyecto where ap.id_proyecto.Value == proyecto.id_proyecto select s); todas = todas.Where(x => noborrar.Select(y => y.id_detalle_recurso).Contains(x.id_detalle_recurso)); bd.Detalle_recurso.RemoveRange(todas); bd.SaveChanges(); } }
public void CrearProyecto(Proyecto p) { try { int pri = 0; if (p.Prioridad == TipoPrioridad.ALTA) { pri = 1; } else if (p.Prioridad == TipoPrioridad.MEDIA) { pri = 2; } else if (p.Prioridad == TipoPrioridad.BAJA) { pri = 3; } MySqlConnection con = new MySqlConnection(DBManager.cadena); con.Open(); MySqlCommand cmd = new MySqlCommand(); String cadenaI = p.FechaInicio.Year.ToString() + "-" + p.FechaInicio.Month.ToString() + "-" + p.FechaInicio.Day.ToString(); String cadenaF = p.FechaFinEstimada.Year.ToString() + "-" + p.FechaFinEstimada.Month.ToString() + "-" + p.FechaFinEstimada.Day.ToString(); String cadenaFR = p.FechaRealFin.Year.ToString() + "-" + p.FechaRealFin.Month.ToString() + "-" + p.FechaRealFin.Day.ToString(); String sql = " INSERT INTO PROYECTO (ID_ERU, ID_TRABAJADOR_JEFE, NOMBRE, PRESUPUESTO, PRIORIDAD, ID_TIPO_FASE_PROYECTO, FECHA_INICIO, FECHA_FIN_ESTIMADA, FECHA_FIN_REAL)" + " VALUES (" + p.Eru.IdERU + ", " + p.JefeProyecto.IdTrabajador + ", '" + p.Nombre + "', " + p.Presupuesto + ", " + pri + ", 1, '" + cadenaI + "', '" + cadenaF + "', '" + cadenaFR + "')"; cmd.CommandText = sql; cmd.Connection = con; cmd.ExecuteNonQuery(); con.Close(); } catch { MessageBox.Show("Error al crear el proyecto. ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public BindingList <Trabajador> listarTrabajadoresDisponibles(Proyecto p, Operario op, string rol) { BindingList <Trabajador> trabajadores = new BindingList <Trabajador>(); MySqlConnection con = new MySqlConnection(DBManager.cadena); con.Open(); MySqlCommand comando = new MySqlCommand(); comando.CommandText = "SELECT * FROM TIPO_TRABAJADOR TT, PERSONA P, TRABAJADOR T WHERE P.ID_PERSONA = T.ID_PERSONA" + " AND P.DNI LIKE CONCAT ('%" + op.Dni + "%') AND P.NOMBRE LIKE CONCAT('%" + op.Nombre + "%') AND P.APELLIDO_PATERNO LIKE CONCAT('%" + op.ApellidoPaterno + "%') AND P.APELLIDO_MATERNO LIKE CONCAT('%" + op.ApellidoMaterno + "%') AND P.CORREO LIKE ('%" + op.Correo + "%') AND P.TELEFONO LIKE CONCAT ('%" + op.Telefono + "%') AND TT.DESCRIPCION LIKE CONCAT ('%" + rol + "%')" + " AND (TT.ID_TIPO = 1 OR TT.ID_TIPO > 4) AND T.ID_TIPO = TT.ID_TIPO" + " AND T.ID_TRABAJADOR NOT IN (SELECT ID_TRABAJADOR FROM PROYECTO_X_TRABAJADOR WHERE ID_PROYECTO = " + p.IdProyecto + ");"; comando.Connection = con; MySqlDataReader lector = comando.ExecuteReader(); while (lector.Read()) { Trabajador t = new Trabajador(); t.IdTrabajador = lector.GetInt32("ID_TRABAJADOR"); t.Dni = lector.GetString("DNI"); t.Nombre = lector.GetString("NOMBRE"); t.ApellidoPaterno = lector.GetString("APELLIDO_PATERNO"); t.ApellidoMaterno = lector.GetString("APELLIDO_MATERNO"); t.Correo = lector.GetString("CORREO"); t.Telefono = lector.GetString("TELEFONO"); TipoTrabajador r = new TipoTrabajador(); r.IdTipoTrabajador = lector.GetInt32("ID_TIPO"); r.Descripcion = rol; t.CargoTrabajador = r; trabajadores.Add(t); } con.Close(); return(trabajadores); }
public static List <Tuple <USUARIO, double> > ObtenerHorasTrabajadasPorUsuario(Proyecto proyecto) { using (var bd = new DescarEntity()) { var pro = (from mh in bd.Movimiento_hora join cmh in bd.Cuerpo_movimiento_hora on mh.id_movimiento_hora equals cmh.id_movimiento_hora join u in bd.USUARIOs on mh.id_usuario equals u.id_usuario join ap in bd.Actividad_proyecto on cmh.id_actividad_proyecto equals ap.id_actividad_proyecto where ap.id_proyecto == proyecto.id_proyecto select new { usuario = u, salida = cmh.salida.Value, entrada = cmh.entrada.Value }); return(pro.AsEnumerable().Select(x => new Tuple <USUARIO, double>(x.usuario, x.salida.Subtract(x.entrada).TotalHours)).ToList()); } }
public static CONTROL_SUBPROYECTO VerificarExistencia(Tipo_actividad actividad, Proyecto proyecto) { using (var bd = new DescarEntity()) { var controles = (from p in bd.CONTROL_SUBPROYECTO where p.id_proyecto == proyecto.id_proyecto & p.id_tipo_actividad == actividad.id_tipo_actividad select p); return(controles.Any() ? controles.First() : null); } }
public BindingList <Proyecto> listarProyectosEnCurso(int e, DateTime mifecha) { BindingList <Proyecto> proyectos = new BindingList <Proyecto>(); MySqlConnection con = new MySqlConnection(DBManager.cadena); con.Open(); int dia = mifecha.Day; int mes = mifecha.Month; int anio = mifecha.Year; string fecha = anio + "-" + mes + "-" + dia; MySqlCommand cmd = new MySqlCommand(); String sql = " select P.ID_PROYECTO, P.NOMBRE, P.ID_TIPO_FASE_PROYECTO, P.PRIORIDAD, P.FECHA_INICIO, P.FECHA_FIN_ESTIMADA, P.PRESUPUESTO " + " from PROYECTO P, TIPO_FASE_PROYECTO TFP " + " WHERE TFP.ID_TIPO_FASE_PROYECTO = P.ID_TIPO_FASE_PROYECTO "; if (e != 0) { sql = sql + " AND TFP.ID_TIPO_FASE_PROYECTO=" + e; } sql = sql + " AND P.FECHA_INICIO >='" + fecha + "'"; cmd.CommandText = sql; cmd.Connection = con; MySqlDataReader lector = cmd.ExecuteReader(); while (lector.Read()) { Proyecto pro = new Proyecto(); pro.IdProyecto = lector.GetInt32("ID_PROYECTO"); pro.Nombre = lector.GetString("NOMBRE"); int idEtapa = lector.GetInt32("ID_TIPO_FASE_PROYECTO"); if (idEtapa == 1) { pro.Etapa = TipoFaseProyecto.ANALISIS; } else if (idEtapa == 2) { pro.Etapa = TipoFaseProyecto.DESARROLLO; } else if (idEtapa == 3) { pro.Etapa = TipoFaseProyecto.PRUEBAS; } else if (idEtapa == 4) { pro.Etapa = TipoFaseProyecto.PREPARACION; } else if (idEtapa == 5) { pro.Etapa = TipoFaseProyecto.POSTPRODUCCION; } else if (idEtapa == 6) { pro.Etapa = TipoFaseProyecto.COMPLETADO; } else if (idEtapa == 7) { pro.Etapa = TipoFaseProyecto.CANCELADO; } int idPri = lector.GetInt32("PRIORIDAD"); if (idPri == 1) { pro.Prioridad = TipoPrioridad.ALTA; } else if (idPri == 2) { pro.Prioridad = TipoPrioridad.MEDIA; } else if (idPri == 3) { pro.Prioridad = TipoPrioridad.BAJA; } pro.FechaInicio = lector.GetDateTime("FECHA_INICIO"); pro.FechaFinEstimada = lector.GetDateTime("FECHA_FIN_ESTIMADA"); pro.Presupuesto = lector.GetFloat("PRESUPUESTO"); proyectos.Add(pro); } con.Close(); return(proyectos); }
public BindingList <SolicitudCambio> obtenerSolicitudesDeCambio(int idJefe) { MySqlConnection conn; string cadena = DBManager.cadena; try { conn = new MySqlConnection(cadena); } catch { return(null); } conn.Open(); BindingList <SolicitudCambio> solicitudesCambioDA = new BindingList <SolicitudCambio>(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = conn; string query = "SELECT S.ID_SOLICITUD, S.DESCRIPCION AS DESCRIPCION_SOLICITUD, S.FECHA_SOLICITUD, R.ID_REQUERIMIENTO, " + "R.DESCRIPCION AS DESCRIPCION_REQUERIMIENTO, R.FECHA_REQUERIMIENTO, R.ID_TIPO_REQUERIMIENTO, R.FECHA_ESTIMADA, " + "E.ID_EMPRESA, E.RUC, E.RAZON_SOCIAL, E.DIRECCION, P.ID_PROYECTO, P.NOMBRE AS NOMBRE_PROYECTO, " + "P.PRESUPUESTO, P.PRIORIDAD, P.FECHA_INICIO, P.FECHA_FIN_ESTIMADA, P.FECHA_FIN_REAL, " + "C.ID_CLIENTE, PER.NOMBRE AS NOMBRE_PERSONA, PER.APELLIDO_PATERNO, PER.APELLIDO_MATERNO " + "FROM SOLICITUD_CAMBIO S, REQUERIMIENTO R, EMPRESA E, ERU ER, PROYECTO P, CLIENTE C, PERSONA PER " + "WHERE S.ID_SOLICITUD = R.ID_SOLICITUD AND R.ID_ERU = ER.ID_ERU AND ER.ID_CLIENTE = C.ID_CLIENTE AND " + "C.ID_EMPRESA = E.ID_EMPRESA AND C.ID_PERSONA = PER.ID_PERSONA AND " + "ER.ID_ERU = P.ID_ERU AND S.ID_TIPO_ESTADO_SOLICITUD = 2 AND P.ID_TRABAJADOR_JEFE = " + idJefe + "; "; cmd.CommandText = query; MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { SolicitudCambio solCambio = new SolicitudCambio(); solCambio.IdSolicitud = reader.GetInt32("ID_SOLICITUD"); solCambio.Descripcion = reader.GetString("DESCRIPCION_SOLICITUD"); solCambio.FechaSolicitud = reader.GetDateTime("FECHA_SOLICITUD"); int idEstado = 2; solCambio.setEstado(idEstado); Requerimiento req = new Requerimiento(); req.IdRequerimiento = reader.GetInt32("ID_REQUERIMIENTO"); req.Descripcion = reader.GetString("DESCRIPCION_REQUERIMIENTO"); req.FechaRequerimiento = reader.GetDateTime("FECHA_REQUERIMIENTO"); req.TipoInt = reader.GetInt32("ID_TIPO_REQUERIMIENTO"); solCambio.Requerimiento = req; Proyecto proyecto = new Proyecto(); proyecto.IdProyecto = reader.GetInt32("ID_PROYECTO"); proyecto.Nombre = reader.GetString("NOMBRE_PROYECTO"); proyecto.Presupuesto = reader.GetFloat("PRESUPUESTO"); proyecto.PrioridadInt = reader.GetInt32("PRIORIDAD"); proyecto.FechaInicio = reader.GetDateTime("FECHA_INICIO"); proyecto.FechaFinEstimada = reader.GetDateTime("FECHA_FIN_ESTIMADA"); solCambio.Proyecto = proyecto; Cliente cliente = new Cliente(); cliente.IdCliente = reader.GetInt32("ID_CLIENTE"); cliente.Nombre = reader.GetString("NOMBRE_PERSONA"); cliente.ApellidoPaterno = reader.GetString("APELLIDO_PATERNO"); cliente.ApellidoMaterno = reader.GetString("APELLIDO_MATERNO"); Empresa empresa = new Empresa(); empresa.IdEmpresa = reader.GetInt32("ID_EMPRESA"); empresa.Ruc = reader.GetString("RUC"); empresa.RazonSocial = reader.GetString("RAZON_SOCIAL"); empresa.Direccion = reader.GetString("DIRECCION"); cliente.Empresa = empresa; solCambio.Cliente = cliente; solicitudesCambioDA.Add(solCambio); } reader.Close(); conn.Close(); return(solicitudesCambioDA); }