/Inventario_HardSoft/Inventario_HardSoft/Controlador/Ctrl_Proyecto.cs
# · C# · 276 lines · 232 code · 41 blank · 3 comment · 13 complexity · 1489d99cb91dc2b974a2d467c3960f20 MD5 · raw file
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using Inventario_HardSoft.ADO;
- using System.Windows.Forms;
- using System.Data;
-
- namespace Inventario_HardSoft.Controlador
- {
- class Ctrl_Proyecto
- {
- ConexionDataContext conexion;
- Contador conta;
-
- public Ctrl_Proyecto()
- {
- conexion = new ConexionDataContext();
- conta = new Contador();
- }
-
- internal List<PROYECTO> getList_Proyectos()
- {
- List<PROYECTO> listProy = conexion.PROYECTO.Where(x => x.ESTADO=="Ejecucion").ToList<PROYECTO>();
- return listProy;
- }
-
- internal List<PROYECTO> getList_ProyectosEjecutandoseFinalizado()
- {
- List<PROYECTO> listProy = conexion.PROYECTO.ToList<PROYECTO>();
- return listProy;
- }
-
- internal void Proyectos(DataGridView dgSw, string p)
- {
- int i = 1;
-
- var consulta = from proyec in conexion.PROYECTO
- join user in conexion.USUARIO on proyec.IDUSUARIO equals user.IDUSUARIO
- join acti in conexion.ACTIVIDAD on proyec.IDPROYECTO equals acti.IDPROYECTO into tempActividad
- from actividades in tempActividad.DefaultIfEmpty()
- where (proyec.NOMBPROYECTO == p)
- select new
- {
- proyec.IDPROYECTO,
- proyec.NOMBPROYECTO,
- user.NOMBRE,
- proyec.FECHAINICIO,
- proyec.FECHAESTIMADATERMINO,
- proyec.COSTO,
- proyec.OBJETIVO,
- proyec.ESTADO,
- actividades.IDACTIVIDAD,
- actividades.FECHAESTIMADAACTIVIDAD,
- actividades.OBSERVACION,
- actividades.FECHADECONSULTA
- };
-
- foreach (var c in consulta)
- {
- object[] obj = new object[] {
- c.IDPROYECTO,i,c.NOMBRE,c.NOMBPROYECTO,c.ESTADO,
- c.COSTO,c.OBJETIVO,
- c.FECHAINICIO.GetValueOrDefault(DateTime.MinValue),
- c.FECHAESTIMADATERMINO.GetValueOrDefault(DateTime.MinValue),
- c.IDACTIVIDAD, c.FECHAESTIMADAACTIVIDAD.GetValueOrDefault(DateTime.MinValue),
- c.OBSERVACION,
- c.FECHADECONSULTA.GetValueOrDefault(DateTime.MinValue)
- };
-
- obj[7] = ((DateTime)obj[7]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[7]).ToShortDateString();
- obj[8] = ((DateTime)obj[8]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[8]).ToShortDateString();
- obj[10] = ((DateTime)obj[10]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[10]).ToShortDateString();
- obj[12] = ((DateTime)obj[12]).Equals(DateTime.MinValue) ? String.Empty : ((DateTime)obj[12]).ToShortDateString();
- //grid_Proyect.Rows.Add(obj);
- dgSw.Rows.Add(obj);
- i++;
- i++;
- }
- }
-
- internal DataTable getProyecto(string proy)
- {
- DataTable dt = new DataTable();
-
- try
- {
- var query = conexion.PROYECTO.Join(conexion.USUARIO, p => p.IDUSUARIO, u => u.IDUSUARIO,
- (p, u) => new
- {
- p.IDPROYECTO,
- p.NOMBPROYECTO,
- p.FECHAINICIO,
- p.OBJETIVO,
- p.FECHAESTIMADATERMINO,
- p.ESTADO,
- p.COSTO,
- u.NOMBRE
- }
- ).Single(x => x.NOMBPROYECTO == proy);
-
- dt.Columns.Add(new DataColumn("idproyecto", typeof(string)));
- dt.Columns.Add(new DataColumn("nombreproyecto", typeof(string)));
- dt.Columns.Add(new DataColumn("fechainicio", typeof(string)));
- dt.Columns.Add(new DataColumn("objetivo", typeof(string)));
- dt.Columns.Add(new DataColumn("fechaestimadatermino", typeof(string)));
- dt.Columns.Add(new DataColumn("estado", typeof(string)));
- dt.Columns.Add(new DataColumn("costo", typeof(string)));
- dt.Columns.Add(new DataColumn("nombretercero", typeof(string)));
-
- DataRow dr = dt.NewRow();
-
- dr["idproyecto"] = query.IDPROYECTO;
- dr["nombreproyecto"] = query.NOMBPROYECTO;
- dr["fechainicio"] = query.FECHAINICIO.GetValueOrDefault(DateTime.MinValue).Equals(DateTime.MinValue) ? String.Empty: query.FECHAINICIO.Value.ToShortDateString();
- dr["objetivo"] = query.OBJETIVO;
- dr["fechaestimadatermino"] = query.FECHAESTIMADATERMINO.GetValueOrDefault(DateTime.MinValue).Equals(DateTime.MinValue) ? string.Empty: query.FECHAINICIO.Value.ToShortDateString();
- dr["estado"] = query.ESTADO;
- dr["costo"] = query.COSTO;
- dr["nombretercero"] = query.NOMBRE;
-
- dt.Rows.Add(dr);
- }
- catch (ArgumentNullException)
- {
- throw new ArgumentNullException();
- }
-
- return dt;
- }
-
- internal List<ACTIVIDAD> getListActividad(string idproy)
- {
- return conexion.ACTIVIDAD.Where(x => x.IDPROYECTO == idproy && x.ELIMINADO == 0).ToList<ACTIVIDAD>();
- }
-
- internal void actualizaActividad(string idproy, DateTime fRealTermino, string observacion,DateTime fConsulta)
- {
- ACTIVIDAD act;
- var consulta2 = from proyec in conexion.PROYECTO
- join user in conexion.USUARIO on proyec.IDUSUARIO equals user.IDUSUARIO
- join acti in conexion.ACTIVIDAD on proyec.IDPROYECTO equals acti.IDPROYECTO into tempActividad
- from actividades in tempActividad.DefaultIfEmpty()
- where (proyec.IDPROYECTO == idproy)
- select proyec ;
- //int idproyec = Convert.ToInt32(conexion.INVENTARIO_CONTADOR.Single(x => x.IDENTIFICADOR == "HARDSOFT").CONT_IDACTIVIDAD);
- //String idproyec = consulta2.Single().IDPROYECTO;
- String numero = Convert.ToString(conta.getNumContador_IdActividad());
- String numero2 = numero.Trim().PadLeft(7, '0');
- String idActiv = "ACT_" + numero2;
-
- act = new ACTIVIDAD
- {
- IDPROYECTO = idproy,
- IDACTIVIDAD = idActiv,
- FECHAESTIMADAACTIVIDAD = fRealTermino,
- OBSERVACION = observacion,
- FECHADECONSULTA = fConsulta,
- };
-
- conexion.ACTIVIDAD.InsertOnSubmit(act);
- conexion.SubmitChanges();
- conexion.increm_ContadorIdActividad();
-
- }
-
- internal bool agregarActividad(ACTIVIDAD a)
- {
- try
- {
- String numero = Convert.ToString(conta.getNumContador_IdActividad());
- String numero2 = numero.Trim().PadLeft(7, '0');
- String idActiv = "ACT_" + numero2;
-
- a.IDACTIVIDAD = idActiv;
-
- conexion.ACTIVIDAD.InsertOnSubmit(a);
- conexion.SubmitChanges();
- conexion.increm_ContadorIdActividad();
-
- return true;
- }
- catch (Exception e)
- {
- throw e.InnerException;
- }
- }
-
- internal bool contieneActividad(string observ, string idpr)
- {
- bool result = false;
-
- List<ACTIVIDAD> activ = this.getListActividad(idpr);
-
- foreach (ACTIVIDAD a in activ)
- {
- if (string.Equals(a.OBSERVACION,observ,StringComparison.CurrentCultureIgnoreCase))
- {
- result = true;
- break;
- }
- else
- {
- result = false;
- }
- }
-
- return result;
- }
-
- internal bool actualizaActividad(ACTIVIDAD act)
- {
- bool result = false;
-
- try
- {
- ACTIVIDAD actividad = conexion.ACTIVIDAD.Single(x => x.IDACTIVIDAD == act.IDACTIVIDAD);
-
- actividad.FECHADECONSULTA = act.FECHADECONSULTA;
- actividad.OBSERVACION = act.OBSERVACION;
- actividad.FECHAESTIMADAACTIVIDAD = act.FECHAESTIMADAACTIVIDAD;
-
- conexion.SubmitChanges();
- result = true;
- }
- catch (ArgumentNullException)
- {
- throw new ArgumentNullException();
- }
-
- return result;
- }
-
- internal bool eliminarActividad(string idactividad)
- {
- bool result = false;
- try
- {
- ACTIVIDAD actividad = conexion.ACTIVIDAD.Single(x => x.IDACTIVIDAD == idactividad);
- actividad.ELIMINADO = 1;
- conexion.SubmitChanges();
- result = true;
- }
- catch (ArgumentNullException)
- {
- throw new ArgumentNullException();
- }
-
- return result;
- }
-
- internal bool finalizaProyecto(string idProy, string idActi)
- {
- bool result = false;
-
- try
- {
- PROYECTO proyecto = conexion.PROYECTO.Single(x => x.IDPROYECTO == idProy);
- proyecto.ESTADO = "Finalizado";
-
- ACTIVIDAD actividad = conexion.ACTIVIDAD.Single(x => x.IDACTIVIDAD == idActi && x.ELIMINADO == 0);
- actividad.ESTADO = "Cierre";
-
- conexion.SubmitChanges();
- result = true;
- }
- catch(ArgumentNullException)
- {
- throw new ArgumentNullException();
- }
-
- return result;
- }
- }
- }