/// <summary> /// Busca Lista de Objetos /// </summary> /// <param name="doc_id">Id do Documento Selecionado</param> /// <param name="filtro_obj_codigo">Código ou Parte a se localizar</param> /// <param name="filtro_obj_descricao">Descrição ou Parte a se localizar</param> /// <param name="filtro_clo_id">Id da Classe a se filtrar</param> /// <param name="filtro_tip_nome">Tipo a se filtrar</param> /// <returns>List(SelectListItem)</returns> public List <SelectListItem> PreencheCmbObjetosLocalizados(int doc_id, string filtro_obj_codigo, string filtro_obj_descricao = "", int?filtro_clo_id = -1, string filtro_tip_nome = "") { Usuario paramUsuario = (Usuario)System.Web.HttpContext.Current.Session["Usuario"]; List <Objeto> lstObjetos; if (doc_id >= 0) { lstObjetos = new DocumentoBLL().Documento_ObjetosNaoAssociados_ListAll(doc_id, filtro_obj_codigo); } else { lstObjetos = new ObjetoDAO().Objeto_ListAll(0, filtro_obj_codigo, filtro_obj_descricao, filtro_clo_id, filtro_tip_nome, paramUsuario.usu_id); } List <SelectListItem> lstListaCmbObjetosLocalizados = new List <SelectListItem>(); // lista de combo foreach (var temp in lstObjetos) { string txt = temp.obj_codigo + " (" + temp.obj_descricao + ")"; lstListaCmbObjetosLocalizados.Add(new SelectListItem() { Text = txt, Value = temp.obj_id.ToString() }); } return(lstListaCmbObjetosLocalizados); }
public static bool calcularCostoyFechas(int proyectoId) { bool ret = false; try { List <List <Nodo> > listas = EstructuraProyectoDAO.getEstructuraProyectoArbolCalculos(proyectoId, null); for (int i = listas.Count - 1; i >= 0; i--) { for (int j = 0; j < listas[i].Count; j++) { Nodo nodo = listas[i][j]; decimal costo = decimal.Zero; DateTime fecha_maxima = new DateTime(0); DateTime fecha_minima = new DateTime(new DateTime(2999, 12, 31, 0, 0, 0).Ticks); DateTime fecha_maxima_real = default(DateTime); DateTime fecha_minima_real = default(DateTime); foreach (Nodo nodo_hijo in nodo.children) { costo += nodo_hijo.costo; fecha_minima = (nodo_hijo.fecha_inicio < fecha_minima) ? nodo_hijo.fecha_inicio : fecha_minima; fecha_maxima = (nodo_hijo.fecha_fin > fecha_maxima) ? nodo_hijo.fecha_fin : fecha_maxima; fecha_minima_real = nodo_hijo.fecha_inicio_real != null ? fecha_minima_real != null ? ((nodo_hijo.fecha_inicio_real.TimeOfDay < fecha_minima_real.TimeOfDay) ? nodo_hijo.fecha_inicio_real : fecha_minima_real) : nodo_hijo.fecha_inicio_real : fecha_minima_real != null ? fecha_minima_real : fecha_minima_real; fecha_maxima_real = nodo_hijo.fecha_fin_real != null ? fecha_maxima_real != null ? ((nodo_hijo.fecha_fin_real.TimeOfDay > fecha_maxima_real.TimeOfDay) ? nodo_hijo.fecha_fin_real : fecha_maxima_real) : nodo_hijo.fecha_fin_real : fecha_maxima_real != default(DateTime) ? fecha_maxima_real : default(DateTime); } nodo.objeto = ObjetoDAO.getObjetoPorIdyTipo(nodo.id, nodo.objeto_tipo); if (nodo.children != null && nodo.children.Count > 0) { nodo.fecha_inicio = fecha_minima; nodo.fecha_fin = fecha_maxima; nodo.fecha_inicio_real = fecha_minima_real; nodo.fecha_fin_real = fecha_maxima_real; nodo.costo = costo; } else { decimal costo_temp = ObjetoDAO.calcularCostoPlan(nodo.objeto, nodo.objeto_tipo); nodo.costo = (decimal)costo_temp; } nodo.duracion = Utils.getWorkingDays(nodo.fecha_inicio, nodo.fecha_fin); setDatosCalculados(nodo.objeto, nodo.fecha_inicio, nodo.fecha_fin, nodo.costo, nodo.duracion, nodo.fecha_inicio_real, nodo.fecha_fin_real); } ret = true; } ret = ret && guardarProyectoBatch(listas); } catch (Exception e) { CLogger.write("19", "ProyectoDAO.class", e); } return(ret); }
public IActionResult Componente(int id) { try { Componente componente = ComponenteDAO.getComponente(id); bool eliminado = ObjetoDAO.borrarHijos(componente.treepath, 1, User.Identity.Name); return(Ok(new { success = eliminado })); } catch (Exception e) { CLogger.write("6", "ComponenteController.class", e); return(BadRequest(500)); } }
public IActionResult Producto(int id) { try { Producto producto = ProductoDAO.getProductoPorId(id, User.Identity.Name); bool eliminado = ObjetoDAO.borrarHijos(producto.treepath, 3, User.Identity.Name); return(Ok(new { success = eliminado })); } catch (Exception e) { CLogger.write("4", "ProductoController.class", e); return(BadRequest(500)); } }
public IActionResult Subproducto(int id) { try { Subproducto subproducto = SubproductoDAO.getSubproductoPorId(id); bool resultado = ObjetoDAO.borrarHijos(subproducto.treepath, 4, User.Identity.Name); return(Ok(new { success = resultado })); } catch (Exception e) { CLogger.write("4", "SubproductoController.class", e); return(BadRequest(500)); } }
public static bool calcularCostoyFechas(int subcomponenteId) { bool ret = false; try { List <List <Nodo> > listas = EstructuraProyectoDAO.getEstructuraObjetoArbolCalculos(subcomponenteId, 2); for (int i = listas.Count - 2; i >= 0; i--) { for (int j = 0; j < listas[i].Count; j++) { Nodo nodo = listas[i][j]; decimal costo = decimal.Zero; DateTime fecha_maxima = new DateTime(0); DateTime fecha_minima = new DateTime(new DateTime(2999, 12, 31, 0, 0, 0).Ticks); foreach (Nodo nodo_hijo in nodo.children) { costo += nodo_hijo.costo; fecha_minima = (nodo_hijo.fecha_inicio.TimeOfDay < fecha_minima.TimeOfDay) ? nodo_hijo.fecha_inicio : fecha_minima; fecha_maxima = (nodo_hijo.fecha_fin.TimeOfDay > fecha_maxima.TimeOfDay) ? nodo_hijo.fecha_fin : fecha_maxima; } nodo.objeto = ObjetoDAO.getObjetoPorIdyTipo(nodo.id, nodo.objeto_tipo); if (nodo.children != null && nodo.children.Count > 0) { nodo.fecha_inicio = fecha_minima; nodo.fecha_fin = fecha_maxima; nodo.costo = costo; } else { nodo.costo = calcularCosto((Subcomponente)nodo.objeto); } nodo.duracion = Utils.getWorkingDays(nodo.fecha_inicio, nodo.fecha_fin); setDatosCalculados(nodo.objeto, nodo.fecha_inicio, nodo.fecha_fin, nodo.costo, nodo.duracion); } ret = true; } ret = ret && guardarSubComponenteBatch(listas); } catch (Exception e) { CLogger.write("20", "SubComponenteDAO.class", e); } return(ret); }
/// <summary> /// Lista de todos os Grupos para preenchimento de combo /// </summary> /// <returns>Lista de SelectListItem</returns> public List <SelectListItem> PreenchecmbGrupo() { List <ObjTipo> lst = new ObjetoDAO().ObjTipo_ListAll(9, null, null, 0, 0); List <SelectListItem> lstSaida = new List <SelectListItem>(); // lista de combo foreach (var temp in lst) { if (temp.tip_nome.Trim() != "") { lstSaida.Add(new SelectListItem() { Text = temp.tip_nome, Value = temp.tip_nome }); } } // lstSaida.Insert(0, new SelectListItem() { Text = "-- Selecione --", Value = "", Disabled = true }); return(lstSaida.GroupBy(x => x.Text).Select(x => x.First()).ToList()); }
public IActionResult ComponentesPaginaPorProyecto([FromBody] dynamic value) { try { int pagina = value.pagina != null ? (int)value.pagina : 1; int numeroComponentes = value.numeroCooperantes != null ? (int)value.numeroCooperantes : 20; string filtro_busqueda = value.filtro_busqueda != null ? (string)value.filtro_busqueda : null; int proyectoId = value.proyectoId != null ? (int)value.proyectoId : default(int); string columna_ordenada = value.columna_ordenada != null ? (string)value.columna_ordenada : null; string orden_direccion = value.orden_direccion != null ? (string)value.orden_direccion : null; bool esDeSigade = false; List <Componente> componentes = ComponenteDAO.getComponentesPaginaPorProyecto(pagina, numeroComponentes, proyectoId , filtro_busqueda, columna_ordenada, orden_direccion, User.Identity.Name); List <Stcomponente> stcomponentes = new List <Stcomponente>(); foreach (Componente componente in componentes) { Stcomponente temp = new Stcomponente(); temp.descripcion = componente.descripcion; temp.estado = componente.estado; temp.fechaActualizacion = componente.fechaActualizacion != null?componente.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaCreacion = componente.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"); temp.id = componente.id; temp.nombre = componente.nombre; temp.usuarioActualizo = componente.usuarioActualizo; temp.usuarioCreo = componente.usuarioCreo; temp.componenteTipoid = componente.componenteTipoid; componente.componenteTipos = ComponenteTipoDAO.getComponenteTipoPorId(componente.componenteTipoid); temp.componentetiponombre = componente.componenteTipos.nombre; temp.snip = componente.snip ?? null; temp.programa = componente.programa ?? null; temp.subprograma = componente.subprograma ?? null; temp.proyecto = componente.proyecto ?? null; temp.obra = componente.obra ?? null; temp.renglon = componente.renglon ?? null; temp.ubicacionGeografica = componente.ubicacionGeografica ?? null; temp.actividad = componente.actividad ?? null; componente.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(componente.ejercicio, componente.entidad ?? default(int), componente.ueunidadEjecutora); if (componente.unidadEjecutoras != null) { temp.ueunidadEjecutora = componente.ueunidadEjecutora; temp.ejercicio = componente.ejercicio; temp.entidad = componente.entidad ?? default(int); componente.unidadEjecutoras.entidads = EntidadDAO.getEntidad(componente.entidad ?? default(int), componente.ejercicio); temp.unidadejecutoranombre = componente.unidadEjecutoras.nombre; temp.entidadnombre = componente.unidadEjecutoras.entidads.nombre; } else { Proyecto proyecto = ProyectoDAO.getProyecto(componente.proyectoid); proyecto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(proyecto.ejercicio, proyecto.entidad ?? default(int), proyecto.ueunidadEjecutora); temp.ueunidadEjecutora = proyecto.ueunidadEjecutora; temp.ejercicio = proyecto.ejercicio; temp.entidad = proyecto.entidad ?? default(int); proyecto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(proyecto.entidad ?? default(int), proyecto.ejercicio); temp.unidadejecutoranombre = proyecto.unidadEjecutoras.nombre; temp.entidadnombre = proyecto.unidadEjecutoras.entidads.nombre; } temp.latitud = componente.latitud; temp.longitud = componente.longitud; temp.costo = componente.costo ?? default(decimal); temp.acumulacionCostoid = (int)componente.acumulacionCostoid; componente.acumulacionCostos = AcumulacionCostoDAO.getAcumulacionCostoById((int)componente.acumulacionCostoid); temp.acumulacionCostoNombre = componente.acumulacionCostos.nombre; temp.fechaInicio = componente.fechaInicio != null?componente.fechaInicio.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFin = componente.fechaFin != null?componente.fechaFin.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.duracion = componente.duracion; temp.duracionDimension = componente.duracionDimension; temp.tieneHijos = ObjetoDAO.tieneHijos(temp.id, 1); temp.esDeSigade = componente.esDeSigade ?? default(int); temp.fuentePrestamo = componente.fuentePrestamo ?? default(decimal); temp.fuenteDonacion = componente.fuenteDonacion ?? default(decimal); temp.fuenteNacional = componente.fuenteNacional ?? default(decimal); esDeSigade = temp.esDeSigade == 1 ? true : false; temp.fechaInicioReal = componente.fechaInicioReal != null?componente.fechaInicioReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFinReal = componente.fechaFinReal != null?componente.fechaFinReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.inversionNueva = componente.inversionNueva; temp.proyectoid = componente.proyectoid; stcomponentes.Add(temp); } return(Ok(new { success = true, componentes = stcomponentes, esDeSigade = esDeSigade })); } catch (Exception e) { CLogger.write("2", "ComponenteController.class", e); return(BadRequest(500)); } }
public IActionResult ValidacionAsignado([FromBody] dynamic value) { try { DateTime cal = new DateTime(); int ejercicio = cal.Year; Componente objComponente = ComponenteDAO.getComponente((int)value.id); Proyecto objProyecto = ProyectoDAO.getProyectobyTreePath(objComponente.treepath); int entidad = objProyecto.entidad ?? default(int); int programa = value.programa != null ? (int)value.programa : default(int); int subprograma = value.subprograma != null ? (int)value.subprograma : default(int); int proyecto = value.proyecto != null ? (int)value.proyecto : default(int); int actividad = value.actividad != null ? (int)value.actividad : default(int); int obra = value.obra != null ? (int)value.obra : default(int); int renglon = value.renglon != null ? (int)value.renglon : default(int); int geografico = value.geografico != null ? (int)value.geografico : default(int); decimal asignado = ObjetoDAO.getAsignadoPorLineaPresupuestaria(ejercicio, entidad, programa, subprograma, proyecto, actividad, obra, renglon, geografico); decimal planificado = decimal.Zero; switch (objComponente.acumulacionCostoid) { case 1: cal = objComponente.fechaInicio ?? default(DateTime); int ejercicioInicial = cal.Year; if (ejercicio.Equals(ejercicioInicial)) { planificado = objComponente.costo ?? default(decimal); } break; case 2: List <PagoPlanificado> lstPagos = PagoPlanificadoDAO.getPagosPlanificadosPorObjeto(objComponente.id, 1); foreach (PagoPlanificado pago in lstPagos) { cal = pago.fechaPago; int ejercicioPago = cal.Year; if (ejercicio.Equals(ejercicioPago)) { planificado += pago.pago; } } break; case 3: cal = objComponente.fechaFin ?? default(DateTime); int ejercicioFinal = cal.Year; if (ejercicio.Equals(ejercicioFinal)) { planificado += objComponente.costo ?? default(decimal); } break; } bool sobrepaso = false; if ((asignado = (asignado - planificado)).CompareTo(decimal.Zero) == -1) { sobrepaso = true; } return(Ok(new { success = true, asignado = asignado, sobrepaso = sobrepaso })); } catch (Exception e) { CLogger.write("9", "ComponenteController.class", e); return(BadRequest(500)); } }
public IActionResult ComponentePorIdCorto(int id) { try { bool esDeSigade = false; Componente componente = ComponenteDAO.getComponentePorId(id, User.Identity.Name); Stcomponente temp = new Stcomponente(); temp.descripcion = componente.descripcion; temp.estado = componente.estado; temp.fechaActualizacion = componente.fechaActualizacion != null?componente.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaCreacion = componente.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"); temp.id = componente.id; temp.nombre = componente.nombre; temp.usuarioActualizo = componente.usuarioActualizo; temp.usuarioCreo = componente.usuarioCreo; temp.componenteTipoid = componente.componenteTipoid; componente.componenteTipos = ComponenteTipoDAO.getComponenteTipoPorId(componente.componenteTipoid); temp.componentetiponombre = componente.componenteTipos.nombre; temp.snip = componente.snip != null ? (long)componente.snip : default(long); temp.programa = componente.programa ?? default(int); temp.subprograma = componente.subprograma ?? default(int); temp.proyecto = componente.proyecto ?? default(int); temp.obra = componente.obra ?? default(int); temp.renglon = componente.renglon ?? default(int); temp.ubicacionGeografica = componente.ubicacionGeografica ?? default(int); temp.actividad = componente.actividad ?? default(int); componente.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(componente.ejercicio, componente.entidad ?? default(int), componente.ueunidadEjecutora); if (componente.unidadEjecutoras != null) { temp.ueunidadEjecutora = componente.ueunidadEjecutora; temp.ejercicio = componente.ejercicio; temp.entidad = componente.entidad ?? default(int); componente.unidadEjecutoras.entidads = EntidadDAO.getEntidad(componente.entidad ?? default(int), componente.ejercicio); temp.unidadejecutoranombre = componente.unidadEjecutoras.nombre; temp.entidadnombre = componente.unidadEjecutoras.entidads.nombre; } else { Proyecto proyecto = ProyectoDAO.getProyecto(componente.proyectoid); proyecto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(proyecto.ejercicio, proyecto.entidad ?? default(int), proyecto.ueunidadEjecutora); temp.ueunidadEjecutora = proyecto.ueunidadEjecutora; temp.ejercicio = proyecto.ejercicio; temp.entidad = proyecto.entidad ?? default(int); proyecto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(proyecto.entidad ?? default(int), proyecto.ejercicio); temp.unidadejecutoranombre = proyecto.unidadEjecutoras.nombre; temp.entidadnombre = proyecto.unidadEjecutoras.entidads.nombre; } temp.latitud = componente.latitud; temp.longitud = componente.longitud; temp.costo = componente.costo ?? default(decimal); temp.acumulacionCostoid = (int)componente.acumulacionCostoid; componente.acumulacionCostos = AcumulacionCostoDAO.getAcumulacionCostoById((int)componente.acumulacionCostoid); temp.acumulacionCostoNombre = componente.acumulacionCostos.nombre; temp.fechaInicio = componente.fechaInicio != null?componente.fechaInicio.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFin = componente.fechaFin != null?componente.fechaFin.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.duracion = componente.duracion; temp.duracionDimension = componente.duracionDimension; temp.tieneHijos = ObjetoDAO.tieneHijos(temp.id, 1); temp.esDeSigade = componente.esDeSigade ?? default(int); temp.fuentePrestamo = componente.fuentePrestamo ?? default(decimal); temp.fuenteDonacion = componente.fuenteDonacion ?? default(decimal); temp.fuenteNacional = componente.fuenteNacional ?? default(decimal); esDeSigade = temp.esDeSigade == 1 ? true : false; temp.fechaInicioReal = componente.fechaInicioReal != null?componente.fechaInicioReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFinReal = componente.fechaFinReal != null?componente.fechaFinReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.inversionNueva = componente.inversionNueva; temp.proyectoid = componente.proyectoid; return(Ok(new { success = true, componente = temp })); } catch (Exception e) { CLogger.write("5", "ComponenteController.class", e); return(BadRequest(500)); } }
public IActionResult ProductoPagina([FromBody] dynamic value) { try { int componenteid = value.componenteid != null ? (int)value.componenteid : 0; int subcomponenteid = value.subcomponenteid != null ? (int)value.subcomponenteid : 0; int pagina = value.pagina != null ? (int)value.pagina : 1; int registros = value.registros != null ? value.registros : 20; String filtro_busqueda = (string)value.filtro_busqueda; String columna_ordenada = (string)value.columna_ordenada; String orden_direccion = (string)value.orden_direccion; List <Producto> productos = ProductoDAO.getProductosPagina(pagina, registros, componenteid, subcomponenteid, filtro_busqueda, columna_ordenada, orden_direccion, User.Identity.Name); List <Stproducto> listaProducto = new List <Stproducto>(); String fechaElegibilidad = null; String fechaCierre = null; if (productos != null && productos.Count > 0) { Proyecto proyecto = ProyectoDAO.getProyectobyTreePath(productos[0].treepath); if (proyecto != null) { fechaElegibilidad = proyecto.fechaElegibilidad != null?proyecto.fechaElegibilidad.Value.ToString("dd/MM/yyyy H:mm:ss") : null; fechaCierre = proyecto.fechaCierre != null?proyecto.fechaCierre.Value.ToString("dd/MM/yyyy H:mm:ss") : null; } } foreach (Producto producto in productos) { Stproducto temp = new Stproducto(); temp.id = producto.id; temp.nombre = producto.nombre; temp.descripcion = producto.descripcion; temp.programa = producto.programa; temp.subprograma = producto.subprograma; temp.proyecto = producto.proyecto; temp.obra = producto.obra; temp.actividad = producto.actividad; temp.renglon = producto.renglon; temp.ubicacionGeografica = producto.ubicacionGeografica; temp.duracion = producto.duracion; temp.duracionDimension = producto.duracionDimension; temp.fechaInicio = producto.fechaInicio != null?producto.fechaInicio.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFin = producto.fechaFin != null?producto.fechaFin.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.snip = producto.snip; temp.estado = producto.estado ?? default(int); temp.usuarioCreo = producto.usuarioCreo; temp.usuarioActualizo = producto.usuarioActualizo; temp.fechaCreacion = producto.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"); temp.fechaActualizacion = producto.fechaActualizacion != null?producto.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.latitud = producto.latitud; temp.longitud = producto.longitud; temp.peso = producto.peso ?? default(int); temp.costo = producto.costo ?? default(decimal); producto.acumulacionCostos = AcumulacionCostoDAO.getAcumulacionCostoById(Convert.ToInt32(producto.acumulacionCostoid)); temp.acumulacionCostoid = Convert.ToInt32(producto.acumulacionCostoid); temp.acumulacionCostoNombre = producto.acumulacionCostos != null ? producto.acumulacionCostos.nombre : null; producto.productoTipos = ProductoTipoDAO.getProductoTipo(producto.productoTipoid); temp.productoTipoid = producto.productoTipoid; temp.productoTipoNombre = producto.productoTipos.nombre; if (producto.componenteid != null) { producto.componentes = ComponenteDAO.getComponentePorId(producto.componenteid ?? default(int), null); temp.componenteid = producto.componenteid ?? default(int); temp.componenteNombre = producto.componentes.nombre; producto.componentes.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(producto.componentes.ejercicio, producto.componentes.entidad ?? default(int), producto.componentes.ueunidadEjecutora); if (producto.componentes.unidadEjecutoras != null) { temp.ueunidadEjecutora = producto.componentes.ueunidadEjecutora; temp.entidad = producto.componentes.entidad ?? default(int); temp.ejercicio = producto.componentes.ejercicio; temp.nombreUnidadEjecutora = producto.componentes.unidadEjecutoras.nombre; producto.componentes.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.componentes.entidad ?? default(int), producto.componentes.ejercicio); temp.entidadnombre = producto.componentes.unidadEjecutoras.entidads != null ? producto.componentes.unidadEjecutoras.entidads.nombre : "SIN ENTIDAD"; } } if (producto.subcomponenteid != null) { producto.subcomponentes = SubComponenteDAO.getSubComponentePorId(producto.subcomponenteid ?? default(int), null); temp.subcomponenteid = producto.subcomponenteid ?? default(int); temp.subcomponenteNombre = producto.subcomponentes != null ? producto.subcomponentes.nombre : null; producto.subcomponentes.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(producto.subcomponentes.ejercicio ?? default(int), producto.subcomponentes.entidad ?? default(int), producto.subcomponentes.ueunidadEjecutora ?? default(int)); if (producto.subcomponentes.unidadEjecutoras != null) { temp.ueunidadEjecutora = producto.subcomponentes.ueunidadEjecutora ?? default(int); temp.entidad = producto.subcomponentes.entidad ?? default(int); temp.ejercicio = producto.subcomponentes.ejercicio ?? default(int); temp.nombreUnidadEjecutora = producto.subcomponentes.unidadEjecutoras.nombre; producto.subcomponentes.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.subcomponentes.entidad ?? default(int), producto.subcomponentes.ejercicio ?? default(int)); temp.entidadnombre = producto.subcomponentes.unidadEjecutoras.entidads != null ? producto.subcomponentes.unidadEjecutoras.entidads.nombre : "SIN ENTIDAD"; } } producto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(producto.ejercicio, producto.entidad ?? default(int), producto.ueunidadEjecutora); if (producto.unidadEjecutoras != null) { temp.ueunidadEjecutora = producto.ueunidadEjecutora; temp.entidad = producto.entidad ?? default(int); temp.ejercicio = producto.ejercicio; temp.nombreUnidadEjecutora = producto.unidadEjecutoras.nombre; producto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.entidad ?? default(int), producto.ejercicio); temp.entidadnombre = producto.unidadEjecutoras.entidads != null ? producto.unidadEjecutoras.entidads.nombre : "SIN ENTIDAD"; } temp.tieneHijos = ObjetoDAO.tieneHijos(temp.id, 3); temp.fechaInicioReal = producto.fechaInicioReal != null?producto.fechaInicioReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFinReal = producto.fechaFinReal != null?producto.fechaFinReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaElegibilidad = fechaElegibilidad; temp.fechaCierre = fechaCierre; temp.inversionNueva = producto.inversionNueva ?? default(int); listaProducto.Add(temp); } return(Ok(new { success = true, productos = listaProducto })); } catch (Exception e) { CLogger.write("1", "ProductoController.class", e); return(BadRequest(500)); } }
public IActionResult ProductoPorId(int id) { try { Producto producto = ProductoDAO.getProductoPorId(id, User.Identity.Name); Stproducto temp = new Stproducto(); temp.id = producto.id; temp.nombre = producto.nombre; temp.descripcion = producto.descripcion; temp.programa = producto.programa; temp.subprograma = producto.subprograma; temp.proyecto = producto.proyecto; temp.obra = producto.obra; temp.actividad = producto.actividad; temp.renglon = producto.renglon; temp.ubicacionGeografica = producto.ubicacionGeografica; temp.duracion = producto.duracion; temp.duracionDimension = producto.duracionDimension; temp.fechaInicio = producto.fechaInicio != null?producto.fechaInicio.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFin = producto.fechaFin != null?producto.fechaFin.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.snip = producto.snip; temp.estado = producto.estado ?? default(int); temp.usuarioCreo = producto.usuarioCreo; temp.usuarioActualizo = producto.usuarioActualizo; temp.fechaCreacion = producto.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"); temp.fechaActualizacion = producto.fechaActualizacion != null?producto.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.latitud = producto.latitud; temp.longitud = producto.longitud; temp.peso = producto.peso ?? default(int); temp.costo = producto.costo ?? default(decimal); producto.acumulacionCostos = AcumulacionCostoDAO.getAcumulacionCostoById(Convert.ToInt32(producto.acumulacionCostoid)); temp.acumulacionCostoid = Convert.ToInt32(producto.acumulacionCostoid); temp.acumulacionCostoNombre = producto.acumulacionCostos != null ? producto.acumulacionCostos.nombre : null; producto.productoTipos = ProductoTipoDAO.getProductoTipo(producto.productoTipoid); temp.productoTipoid = producto.productoTipoid; temp.productoTipoNombre = producto.productoTipos.nombre; if (producto.componenteid != null) { producto.componentes = ComponenteDAO.getComponentePorId(producto.componenteid ?? default(int), null); temp.componenteid = producto.componenteid ?? default(int); temp.componenteNombre = producto.componentes.nombre; producto.componentes.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(producto.componentes.ejercicio, producto.componentes.entidad ?? default(int), producto.componentes.ueunidadEjecutora); if (producto.componentes.unidadEjecutoras != null) { temp.ueunidadEjecutora = producto.componentes.ueunidadEjecutora; temp.entidad = producto.componentes.entidad ?? default(int); temp.ejercicio = producto.componentes.ejercicio; temp.nombreUnidadEjecutora = producto.componentes.unidadEjecutoras.nombre; producto.componentes.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.componentes.entidad ?? default(int), producto.componentes.ejercicio); temp.entidadnombre = producto.componentes.unidadEjecutoras.entidads.nombre; } } if (producto.subcomponenteid != null) { producto.subcomponentes = SubComponenteDAO.getSubComponentePorId(producto.subcomponenteid ?? default(int), null); temp.subcomponenteid = producto.subcomponenteid ?? default(int); temp.subcomponenteNombre = producto.subcomponentes != null ? producto.subcomponentes.nombre : null; producto.subcomponentes.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(producto.subcomponentes.ejercicio ?? default(int), producto.subcomponentes.entidad ?? default(int), producto.subcomponentes.ueunidadEjecutora ?? default(int)); if (producto.subcomponentes.unidadEjecutoras != null) { temp.ueunidadEjecutora = producto.subcomponentes.ueunidadEjecutora ?? default(int); temp.entidad = producto.subcomponentes.entidad ?? default(int); temp.ejercicio = producto.subcomponentes.ejercicio ?? default(int); temp.nombreUnidadEjecutora = producto.subcomponentes.unidadEjecutoras.nombre; producto.subcomponentes.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.subcomponentes.entidad ?? default(int), producto.subcomponentes.ejercicio ?? default(int)); temp.entidadnombre = producto.subcomponentes.unidadEjecutoras.entidads.nombre; } } producto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(producto.ejercicio, producto.entidad ?? default(int), producto.ueunidadEjecutora); if (producto.unidadEjecutoras != null) { temp.ueunidadEjecutora = producto.ueunidadEjecutora; temp.entidad = producto.entidad ?? default(int); temp.ejercicio = producto.ejercicio; temp.nombreUnidadEjecutora = producto.unidadEjecutoras.nombre; producto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.entidad ?? default(int), producto.ejercicio); temp.entidadnombre = producto.unidadEjecutoras.entidads.nombre; } temp.tieneHijos = ObjetoDAO.tieneHijos(temp.id, 3); temp.fechaInicioReal = producto.fechaInicioReal != null?producto.fechaInicioReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFinReal = producto.fechaFinReal != null?producto.fechaFinReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; Proyecto proyecto = ProyectoDAO.getProyectobyTreePath(producto.treepath); temp.fechaElegibilidad = proyecto.fechaElegibilidad != null?proyecto.fechaElegibilidad.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaCierre = proyecto.fechaCierre != null?proyecto.fechaCierre.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.inversionNueva = producto.inversionNueva ?? default(int); return(Ok(new { success = true, producto = temp })); } catch (Exception e) { CLogger.write("7", "ProductoController.class", e); return(BadRequest(500)); } }
public IActionResult SubProductosPaginaPorProducto([FromBody] dynamic value) { try { int pagina = value.pagina != null ? (int)value.pagina : 1; int productoId = value.productoid != null ? (int)value.productoid : default(int); int numeroSubProductos = value.numerosubproductos != null ? (int)value.numerosubproductos : 20; String filtro_busqueda = value.filtro_busqueda; String columna_ordenada = value.columna_ordenada; String orden_direccion = value.orden_direccion; List <Subproducto> subproductos = SubproductoDAO.getSubProductosPaginaPorProducto(pagina, numeroSubProductos, productoId, filtro_busqueda, columna_ordenada, orden_direccion, User.Identity.Name); List <Stsubproducto> stsubproductos = new List <Stsubproducto>(); foreach (Subproducto subproducto in subproductos) { Stsubproducto temp = new Stsubproducto(); temp.descripcion = subproducto.descripcion; temp.estado = subproducto.estado; temp.fechaActualizacion = subproducto.fechaActualizacion != null?subproducto.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaCreacion = subproducto.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"); temp.id = subproducto.id; temp.nombre = subproducto.nombre; temp.usuarioActualizo = subproducto.usuarioActualizo; temp.usuarioCreo = subproducto.usuarioCreo; subproducto.subproductoTipos = SubproductoTipoDAO.getSubProductoTipoPorId(subproducto.subproductoTipoid); temp.subproductoTipoid = subproducto.subproductoTipoid; temp.subProductoTipo = subproducto.subproductoTipos.nombre; temp.snip = subproducto.snip; temp.programa = subproducto.programa; temp.subprograma = subproducto.subprograma; temp.proyecto = subproducto.proyecto; temp.actividad = subproducto.actividad; temp.renglon = subproducto.renglon; temp.ubicacionGeografica = subproducto.ubicacionGeografica; temp.duracion = subproducto.duracion; temp.duracionDimension = subproducto.duracionDimension; temp.fechaInicio = subproducto.fechaInicio != null?subproducto.fechaInicio.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFin = subproducto.fechaFin != null?subproducto.fechaFin.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.obra = subproducto.obra; subproducto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(subproducto.ejercicio ?? default(int), subproducto.entidad ?? default(int), subproducto.ueunidadEjecutora ?? default(int)); if (subproducto.unidadEjecutoras != null) { temp.ueunidadEjecutora = subproducto.ueunidadEjecutora ?? default(int); temp.ejercicio = subproducto.ejercicio ?? default(int); subproducto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(subproducto.entidad ?? default(int), subproducto.ejercicio ?? default(int)); temp.entidadentidad = subproducto.entidad ?? default(int); subproducto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(subproducto.entidad ?? default(int), subproducto.ejercicio ?? default(int)); temp.nombreUnidadEjecutora = subproducto.unidadEjecutoras.nombre; temp.entidadnombre = subproducto.unidadEjecutoras.entidads != null ? subproducto.unidadEjecutoras.entidads.nombre : "SIN ENTIDAD"; } else { Producto producto = ProductoDAO.getProducto(subproducto.productoid); producto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(producto.ejercicio, producto.entidad ?? default(int), producto.ueunidadEjecutora); if (producto.unidadEjecutoras != null) { temp.ueunidadEjecutora = producto.ueunidadEjecutora; temp.ejercicio = producto.ejercicio; producto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.entidad ?? default(int), producto.ejercicio); temp.entidadentidad = producto.entidad ?? default(int); subproducto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(producto.entidad ?? default(int), producto.ejercicio); temp.nombreUnidadEjecutora = producto.unidadEjecutoras.nombre; temp.entidadnombre = subproducto.unidadEjecutoras.entidads != null ? subproducto.unidadEjecutoras.entidads.nombre : "SIN ENTIDAD"; } } temp.latitud = subproducto.latitud; temp.longitud = subproducto.longitud; temp.costo = subproducto.costo ?? default(decimal); subproducto.acumulacionCostos = AcumulacionCostoDAO.getAcumulacionCostoById(Convert.ToInt32(subproducto.acumulacionCostoid)); temp.acumulacionCostoid = Convert.ToInt32(subproducto.acumulacionCostoid); temp.acumulacionCostoNombre = subproducto.acumulacionCostos.nombre; temp.tieneHijos = ObjetoDAO.tieneHijos(temp.id, 2); temp.fechaInicioReal = subproducto.fechaInicioReal != null?subproducto.fechaInicioReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.fechaFinReal = subproducto.fechaFinReal != null?subproducto.fechaFinReal.Value.ToString("dd/MM/yyyy H:mm:ss") : null; temp.inversionNueva = subproducto.inversionNueva; stsubproductos.Add(temp); } return(Ok(new { success = true, subproductos = stsubproductos })); } catch (Exception e) { CLogger.write("7", "SubproductoController.class", e); return(BadRequest(500)); } } /* */
public IActionResult SubproductoPorId(int id) { try { Subproducto subproducto = SubproductoDAO.getSubproductoPorId(id); if (subproducto != null) { Stsubproducto temp = new Stsubproducto(); temp.id = subproducto.id; temp.nombre = subproducto.nombre; temp.descripcion = subproducto.descripcion; temp.usuarioCreo = subproducto.usuarioCreo; temp.usuarioActualizo = subproducto.usuarioActualizo; temp.fechaCreacion = Utils.ConvierteAFormatoFecha(subproducto.fechaCreacion); temp.fechaActualizacion = Utils.ConvierteAFormatoFecha(subproducto.fechaActualizacion); temp.estado = subproducto.estado; temp.snip = subproducto.snip; temp.programa = subproducto.programa; temp.subprograma = subproducto.subprograma; temp.proyecto = subproducto.proyecto; temp.actividad = subproducto.actividad; temp.obra = subproducto.obra; temp.renglon = subproducto.renglon; temp.ubicacionGeografica = subproducto.ubicacionGeografica; temp.latitud = subproducto.latitud; temp.longitud = subproducto.longitud; temp.fechaInicio = Utils.ConvierteAFormatoFecha(subproducto.fechaInicio); temp.fechaFin = Utils.ConvierteAFormatoFecha(subproducto.fechaFin); temp.duracion = subproducto.duracion; temp.duracionDimension = subproducto.duracionDimension; temp.costo = subproducto.costo ?? default(decimal); subproducto.acumulacionCostos = AcumulacionCostoDAO.getAcumulacionCostoById(subproducto.acumulacionCostoid); temp.acumulacionCostoid = subproducto.acumulacionCostoid; temp.acumulacionCostoNombre = subproducto.acumulacionCostos.nombre; temp.productoid = subproducto.productoid; //subproducto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(subproducto.ejercicio, subproducto.entidad ?? default(int), subproducto.ueunidadEjecutora); subproducto.unidadEjecutoras = UnidadEjecutoraDAO.getUnidadEjecutora(subproducto.ejercicio ?? default(int), subproducto.entidad ?? default(int), subproducto.ueunidadEjecutora ?? default(int)); if (subproducto.unidadEjecutoras != null) { //subproducto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(subproducto.entidad ?? default(int), subproducto.ejercicio); subproducto.unidadEjecutoras.entidads = EntidadDAO.getEntidad(subproducto.entidad ?? default(int), subproducto.ejercicio ?? default(int)); temp.entidadnombre = subproducto.unidadEjecutoras.entidads.nombre; temp.nombreUnidadEjecutora = subproducto.unidadEjecutoras.nombre; temp.entidadentidad = subproducto.unidadEjecutoras.entidadentidad; } //temp.ejercicio = subproducto.ejercicio; temp.ejercicio = subproducto.ejercicio ?? default(int); subproducto.subproductoTipos = SubproductoTipoDAO.getSubproductoTipo(subproducto.subproductoTipoid); if (subproducto.subproductoTipos != null) { temp.subproductoTipoid = subproducto.subproductoTipoid; temp.subProductoTipo = subproducto.subproductoTipos.nombre; } temp.tieneHijos = ObjetoDAO.tieneHijos(temp.id, 4); temp.fechaInicioReal = Utils.ConvierteAFormatoFecha(subproducto.fechaInicioReal); temp.fechaFinReal = Utils.ConvierteAFormatoFecha(subproducto.fechaFinReal); subproducto.productos = ProductoDAO.getProductoPorId(subproducto.productoid); Proyecto proyecto = ProyectoDAO.getProyectobyTreePath(subproducto.productos.treepath); temp.congelado = proyecto.congelado != null ? proyecto.congelado : 0; temp.fechaElegibilidad = Utils.ConvierteAFormatoFecha(proyecto.fechaElegibilidad); temp.fechaCierre = Utils.ConvierteAFormatoFecha(proyecto.fechaCierre); temp.inversionNueva = subproducto.inversionNueva; return(Ok(new { success = true, subproducto = temp })); } else { return(Ok(new { success = false })); } } catch (Exception e) { CLogger.write("7", "SubproductoController.class", e); return(BadRequest(500)); } }
public static bool guardarComponentes(String codigoPresupuestario, int proyectoId, String usuario, DateTime fechaSuscripcion) { bool ret = true; Proyecto proyecto = ProyectoDAO.getProyecto(proyectoId); if (proyecto.projectCargado == null || !proyecto.projectCargado.Equals(1)) { List <DtmAvanceFisfinanCmp> componentesSigade = DataSigadeDAO.getComponentes(codigoPresupuestario); List <Componente> componentesSipro = ComponenteDAO.getComponentesPorProyecto(proyectoId); if (componentesSigade != null && componentesSigade.Count > 0) { for (int i = 0; i < componentesSigade.Count; i++) { if (i < componentesSipro.Count) { Componente componente = componentesSipro[i]; componente.nombre = componentesSigade[i].nombreComponente; componente.esDeSigade = 1; componente.usuarioActualizo = usuario;; componente.fechaActualizacion = DateTime.Now;; ret = ret && ComponenteDAO.guardarComponente(componente, false); } else { ComponenteTipo componenteTipo = ComponenteTipoDAO.getComponenteTipoPorId(1); int year = DateTime.Now.Year; UnidadEjecutora unidadEjecutora = UnidadEjecutoraDAO.getUnidadEjecutora(year, 0, 0); AcumulacionCosto acumulacionCosto = AcumulacionCostoDAO.getAcumulacionCostoById(3); Componente componente = new Componente(); componente.acumulacionCostos = acumulacionCosto; componente.acumulacionCostoid = acumulacionCosto.id; componente.componenteTipos = componenteTipo; componente.componenteTipoid = componenteTipo.id; componente.unidadEjecutoras = unidadEjecutora; componente.ueunidadEjecutora = unidadEjecutora.unidadEjecutora; componente.nombre = componentesSigade[i].nombreComponente; componente.usuarioCreo = usuario; componente.fechaCreacion = DateTime.Now; componente.estado = 1; componente.fechaInicio = fechaSuscripcion; componente.fechaFin = fechaSuscripcion; componente.duracion = 1; componente.duracionDimension = "d"; componente.nivel = 1; componente.esDeSigade = 1; componente.inversionNueva = 0; ret = ret && ComponenteDAO.guardarComponente(componente, true); } } if (componentesSipro.Count > componentesSigade.Count) { for (int i = componentesSigade.Count; i < componentesSipro.Count; i++) { Componente componente = componentesSipro[i]; ret = ret && ObjetoDAO.borrarHijos(componente.treepath, 2, usuario); } } } } return(ret); }