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)); } }