public IActionResult ObjetoPorId(int objetoId, int objetoTipo) { try { String nombre = ""; String tiponombre = ""; String fechaInicio = ""; switch (objetoTipo) { case 0: //Proyecto; tiponombre = "Proyecto"; Proyecto proyecto = ProyectoDAO.getProyectoPorId(objetoId, User.Identity.Name); nombre = (proyecto != null) ? proyecto.nombre : ""; fechaInicio = Utils.getFechaHoraNull(proyecto.fechaInicio); break; case 1: //Componente; tiponombre = "Componente"; Componente componente = ComponenteDAO.getComponentePorId(objetoId, User.Identity.Name); nombre = (componente != null) ? componente.nombre : ""; fechaInicio = Utils.getFechaHoraNull(componente.fechaInicio); break; case 2: //Subcomponente; tiponombre = "Subcomponente"; Subcomponente subcomponente = SubComponenteDAO.getSubComponentePorId(objetoId, User.Identity.Name); nombre = (subcomponente != null) ? subcomponente.nombre: ""; fechaInicio = Utils.getFechaHoraNull(subcomponente.fechaInicio); break; case 3: //Producto tiponombre = "Producto"; Producto producto = ProductoDAO.getProductoPorId(objetoId, User.Identity.Name); nombre = (producto != null) ? producto.nombre : ""; fechaInicio = Utils.getFechaHoraNull(producto.fechaInicio); break; case 4: //Subproducto tiponombre = "Subproducto"; Subproducto subproducto = SubproductoDAO.getSubproductoPorId(objetoId, User.Identity.Name); nombre = (subproducto != null) ? subproducto.nombre : ""; fechaInicio = Utils.getFechaHoraNull(subproducto.fechaInicio); break; case 5: //Actividad tiponombre = "Actividad"; Actividad actividad = ActividadDAO.GetActividadPorId(objetoId); nombre = (actividad != null) ? actividad.nombre : ""; fechaInicio = Utils.getFechaHoraNull(actividad.fechaInicio); break; } return(Ok(new { success = true, nombre = nombre, tiponombre = tiponombre, fechaInicio = fechaInicio })); } catch (Exception e) { CLogger.write("1", "ObjectoController.class", e); return(BadRequest(500)); } }
public IActionResult CantidadHistoria(int id) { try { String versiones = SubproductoDAO.GetVersiones(id); return(Ok(new { success = true, versiones })); } catch (Exception e) { CLogger.write("8", "SubproductoController.class", e); return(BadRequest(500)); } }
public IActionResult Historia(int id, int version) { try { String historia = SubproductoDAO.GetHistoria(id, version); return(Ok(new { success = true, historia })); } catch (Exception e) { CLogger.write("9", "SubproductoController.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 IActionResult TotalElementos([FromBody] dynamic value) { try { String filtroBusqueda = value.filtro_busqueda; int productoId = value.productoid != null ? (int)value.productoid : default(int); //int? productoId = value.productoid != null ? (int)value.productoid : default(int); long total = SubproductoDAO.GetTotalSubProductos(productoId, filtroBusqueda, User.Identity.Name); return(Ok(new { success = true, totalsubproductos = total })); } catch (Exception e) { CLogger.write("5", "SubproductoController.class", e); return(BadRequest(500)); } }
public IActionResult ObtenerSubproductoPorId(int id) { try { Subproducto subproducto = SubproductoDAO.getSubproductoPorId(id); return(Ok(new { success = true, subproducto.id, fechaInicio = Utils.ConvierteAFormatoFecha(subproducto.fechaInicio), fechaFin = Utils.ConvierteAFormatoFecha(subproducto.fechaFin), subproducto.duracion, subproducto.duracionDimension, subproducto.nombre })); } catch (Exception e) { CLogger.write("6", "SubproductoController.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 ValidacionAsignado([FromBody] dynamic value) { try { DateTime cal = new DateTime(); int ejercicio = cal.Year; int id = value.id; Subproducto objSubproducto = SubproductoDAO.getSubproductoPorId(id); Proyecto objProyecto = ProyectoDAO.getProyectobyTreePath(objSubproducto.treepath); int entidad = objProyecto.entidad ?? default(int); int programa = value.programa; int subprograma = value.subprograma; int proyecto = value.proyecto; int actividad = value.actividad; int obra = value.obra; int renglon = value.renglon; int geografico = value.geografico; decimal asignado = ObjetoDAO.getAsignadoPorLineaPresupuestaria(ejercicio, entidad, programa, subprograma, proyecto, actividad, obra, renglon, geografico); decimal planificado = decimal.Zero; switch (objSubproducto.acumulacionCostoid) { case 1: //cal = objSubproducto.fechaInicio; cal = objSubproducto.fechaInicio ?? default(DateTime); int ejercicioInicial = cal.Year; if (ejercicio.Equals(ejercicioInicial)) { planificado = objSubproducto.costo ?? default(decimal); } break; case 2: List <PagoPlanificado> lstPagos = PagoPlanificadoDAO.getPagosPlanificadosPorObjeto(objSubproducto.id, 4); foreach (PagoPlanificado pago in lstPagos) { cal = pago.fechaPago; int ejercicioPago = cal.Year; if (ejercicio.Equals(ejercicioPago)) { planificado += pago.pago; } } break; case 3: cal = objSubproducto.fechaFin ?? default(DateTime); int ejercicioFinal = cal.Year; if (ejercicio.Equals(ejercicioFinal)) { planificado += objSubproducto.costo ?? default(decimal); } break; } bool sobrepaso = false; asignado = asignado - planificado; if (asignado.CompareTo(decimal.Zero) == -1) { sobrepaso = true; } return(Ok(new { success = true, asignado, sobrepaso })); } catch (Exception e) { CLogger.write("10", "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 IActionResult Subproducto(int id, [FromBody] dynamic value) { try { bool resultado = false; SubproductoValidator validator = new SubproductoValidator(); ValidationResult results = validator.Validate(value); if (results.IsValid) { Subproducto subproducto = SubproductoDAO.getSubproductoPorId(id); subproducto.nombre = value.nombre; subproducto.descripcion = value.descripcion; subproducto.productoid = (int)value.producto; /// subproducto.subproductoPadreId = (int)value.subproductoPadre; // no hay nada de subproductopadreid subproducto.subproductoTipoid = (int)value.tiposubproductoid; subproducto.ueunidadEjecutora = value.unidadEjecutora != null ? (int)value.unidadEjecutora : default(int); subproducto.entidad = value.entidad != null ? (int)value.entidad : default(int); subproducto.ejercicio = value.ejercicio != null ? (int)value.ejercicio : default(int); subproducto.snip = value.snip; subproducto.programa = value.programa; subproducto.subprograma = value.subprograma; subproducto.proyecto = value.proyecto; subproducto.obra = value.obra; subproducto.renglon = value.renglon; subproducto.ubicacionGeografica = value.ubicacionGeografica; subproducto.actividad = value.actividad; subproducto.latitud = value.latitud; subproducto.longitud = value.longitud; subproducto.costo = value.costo; subproducto.acumulacionCostoid = value.acumulacionCostoId; subproducto.fechaInicio = value.fechaInicio; subproducto.fechaFin = Convert.ToDateTime(value.fechaFin); subproducto.duracion = value.duaracion; subproducto.duracionDimension = value.duracionDimension; subproducto.inversionNueva = value.inversionNueva; Producto producto = ProductoDAO.getProductoPorId(subproducto.productoid); Subproducto subproductoPadre = new Subproducto(); /// subproductoPadre.setId(subproductoPadreId); // todo esta data no venia SubproductoTipo subproductoTipo = new SubproductoTipo(); subproductoTipo.id = subproducto.subproductoTipoid; if ((value.ejercicio != null) && (value.entidad != null) && (value.unidadEjecutora != null)) { UnidadEjecutoraDAO.getUnidadEjecutora(value.ejercicio, value.entidad, value.ueunidadEjecutora); } /*UnidadEjecutora unidadEjecutora = (subproducto.ejercicio != null && subproducto.entidad != null && subproducto.ueunidadEjecutora != null) ? UnidadEjecutoraDAO.getUnidadEjecutora(subproducto.ejercicio, subproducto.entidad, subproducto.ueunidadEjecutora) : null; */ resultado = SubproductoDAO.guardarSubproducto(subproducto, false); if (resultado) { String pagosPlanificados = value.pagosPlanificados; if (!subproducto.acumulacionCostoid.Equals(2) || pagosPlanificados != null && pagosPlanificados.Replace("[", "").Replace("]", "").Length > 0) { List <PagoPlanificado> pagosActuales = PagoPlanificadoDAO.getPagosPlanificadosPorObjeto(subproducto.id, 4); foreach (PagoPlanificado pagoTemp in pagosActuales) { PagoPlanificadoDAO.eliminarTotalPagoPlanificado(pagoTemp); } } if (subproducto.acumulacionCostoid.Equals(2) && pagosPlanificados != null && pagosPlanificados.Replace("[", "").Replace("]", "").Length > 0) { JArray pagosArreglo = JArray.Parse((string)value.pagosPlanificados); for (int i = 0; i < pagosArreglo.Count; i++) { JObject objeto = (JObject)pagosArreglo[i]; DateTime fechaPago = objeto["fechaPago"] != null?Convert.ToDateTime(objeto["fechaPago"].ToString()) : default(DateTime); decimal monto = objeto["pago"] != null?Convert.ToDecimal(objeto["pago"]) : default(decimal); PagoPlanificado pagoPlanificado = new PagoPlanificado(); pagoPlanificado.fechaPago = fechaPago; pagoPlanificado.pago = monto; pagoPlanificado.objetoId = subproducto.id; pagoPlanificado.objetoTipo = 4; pagoPlanificado.usuarioCreo = User.Identity.Name; pagoPlanificado.estado = 1; resultado = resultado && PagoPlanificadoDAO.Guardar(pagoPlanificado); } } if (resultado) { JArray datos = JArray.Parse((string)value.datadinamica); for (int i = 0; i < datos.Count; i++) { JObject data = (JObject)datos[i]; if (data["valor"] != null && data["valor"].ToString().Length > 0 && data["valor"].ToString().CompareTo("null") != 0) { SubproductoPropiedad producotPropiedad = SubproductoPropiedadDAO.getSubproductoPropiedadPorId(Convert.ToInt32(data["id"])); SubproductoPropiedadValor valor = new SubproductoPropiedadValor(); valor.subproductoid = subproducto.id; valor.subproductos = subproducto; valor.subproductoPropiedads = producotPropiedad; valor.usuarioCreo = User.Identity.Name; valor.fechaCreacion = DateTime.Now; valor.estado = 1; switch (producotPropiedad.datoTipoid) { case 1: valor.valorString = data["valor"].ToString(); break; case 2: valor.valorEntero = Convert.ToInt32(data["valor"].ToString()); break; case 3: valor.valorDecimal = Convert.ToDecimal(data["valor"].ToString()); break; case 4: break; case 5: valor.valorTiempo = Convert.ToDateTime(data["valor_f"].ToString()); break; } resultado = (resultado && SubproductoPropiedadValorDAO.guardarSubproductoPropiedadValor(valor)); } } } return(Ok(new { success = resultado, subproducto.id, subproducto.usuarioCreo, subproducto.fechaCreacion, subproducto.usuarioActualizo, subproducto.fechaActualizacion })); } else { return(Ok(new { success = false })); } } else { return(Ok(new { success = false })); } } catch (Exception e) { CLogger.write("3", "SubproductoController.class", e); return(BadRequest(500)); } }
public IActionResult Subproducto([FromBody] dynamic value) { try { bool resultado = false; SubproductoValidator validator = new SubproductoValidator(); ValidationResult results = validator.Validate(value); if (results.IsValid) { Subproducto subproducto = new Subproducto(); subproducto.nombre = value.nombre; subproducto.descripcion = value.descripcion; subproducto.productoid = (int)value.producto; ///subproducto.su.subproductoPadreId = (int)value.subproductoPadre; no tiene subproductopadre subproducto.subproductoTipoid = (int)value.tiposubproductoid; subproducto.ueunidadEjecutora = value.unidadEjecutora != null ? (int)value.unidadEjecutora : default(int); subproducto.entidad = value.entidad != null ? (int)value.entidad : default(int); subproducto.ejercicio = value.ejercicio != null ? (int)value.ejercicio : default(int); subproducto.snip = value.snip; subproducto.programa = value.programa; subproducto.subprograma = value.subprograma; subproducto.proyecto = value.proyecto; subproducto.obra = value.obra; subproducto.renglon = value.renglon; subproducto.ubicacionGeografica = value.ubicacionGeografica; subproducto.actividad = value.actividad; subproducto.latitud = value.latitud; subproducto.longitud = value.longitud; subproducto.costo = value.costo; subproducto.acumulacionCostoid = value.acumulacionCostoId; subproducto.fechaInicio = value.fechaInicio; subproducto.fechaFin = Convert.ToDateTime(value.fechaFin); subproducto.duracion = value.duaracion; subproducto.duracionDimension = value.duracionDimension; subproducto.inversionNueva = value.inversionNueva; //Se agregan estas lineas subproducto.fechaCreacion = DateTime.Now; subproducto.usuarioCreo = User.Identity.Name; subproducto.estado = 1; // Se agregan estas lineas DateTime fechaInicioReal; DateTime.TryParse((string)value.fechaInicioReal, out fechaInicioReal); subproducto.fechaInicioReal = fechaInicioReal; DateTime fechaFinReal; DateTime.TryParse((string)value.fechaFinReal, out fechaFinReal); subproducto.fechaFinReal = fechaFinReal; // Se comenta Producto producto = ProductoDAO.getProductoPorId(subproducto.productoid); // Se comenta Subproducto subproductoPadre = new Subproducto(); ///subproductoPadre.setId(subproductoPadreId); // esta data no viene // Se comenta SubproductoTipo subproductoTipo = new SubproductoTipo(); // Se comenta subproductoTipo.id = subproducto.subproductoTipoid; // Se comenta if ((value.ejercicio != null) && (value.entidad != null) && (value.unidadEjecutora != null)) // Se comenta { // Se comenta UnidadEjecutoraDAO.getUnidadEjecutora(value.ejercicio, value.entidad, value.ueunidadEjecutora); // Se comenta } /*UnidadEjecutora unidadEjecutora = (subproducto.ejercicio != null && subproducto.entidad != null && subproducto.ueunidadEjecutora != null) ? UnidadEjecutoraDAO.getUnidadEjecutora(subproducto.ejercicio, subproducto.entidad, subproducto.ueunidadEjecutora) : null; */ //resultado = SubproductoDAO.guardarSubproducto(subproducto, false); resultado = SubproductoDAO.guardarSubproducto(subproducto, true); if (resultado) { String pagosPlanificados = value.pagosPlanificados; if (!subproducto.acumulacionCostoid.Equals(4) || pagosPlanificados != null && pagosPlanificados.Replace("[", "").Replace("]", "").Length > 0) { List <PagoPlanificado> pagosActuales = PagoPlanificadoDAO.getPagosPlanificadosPorObjeto(subproducto.id, 4); foreach (PagoPlanificado pagoTemp in pagosActuales) { PagoPlanificadoDAO.eliminarTotalPagoPlanificado(pagoTemp); } } if (subproducto.acumulacionCostoid.Equals(4) && pagosPlanificados != null && pagosPlanificados.Replace("[", "").Replace("]", "").Length > 0) { JArray pagosArreglo = JArray.Parse((string)value.pagosPlanificados); for (int i = 0; i < pagosArreglo.Count; i++) { JObject objeto = (JObject)pagosArreglo[i]; DateTime fechaPago = objeto["fechaPago"] != null?Convert.ToDateTime(objeto["fechaPago"].ToString()) : default(DateTime); decimal monto = objeto["pago"] != null?Convert.ToDecimal(objeto["pago"]) : default(decimal); PagoPlanificado pagoPlanificado = new PagoPlanificado(); pagoPlanificado.fechaPago = fechaPago; pagoPlanificado.pago = monto; pagoPlanificado.objetoId = subproducto.id; pagoPlanificado.objetoTipo = 4; pagoPlanificado.usuarioCreo = User.Identity.Name; // se agrega linea pagoPlanificado.fechaCreacion = DateTime.Now; pagoPlanificado.estado = 1; resultado = resultado && PagoPlanificadoDAO.Guardar(pagoPlanificado); } } } if (resultado) { // Se agrega este bloque probarlo List <SubproductoPropiedad> subproductoPropiedades = SubproductoPropiedadDAO.getSubproductoPropiedadesPorTipo(subproducto.subproductoTipoid); foreach (SubproductoPropiedad subProductoPropiedad in subproductoPropiedades) { SubcomponentePropiedadValor subProdPropVal = SubcomponentePropiedadValorDAO.getValorPorSubComponenteYPropiedad(subProductoPropiedad.id, subproducto.id); if (subProdPropVal != null) { resultado = resultado && SubcomponentePropiedadValorDAO.eliminarTotalSubComponentePropiedadValor(subProdPropVal); } } // Hasta aqui JArray datos = JArray.Parse((string)value.datadinamica); for (int i = 0; i < datos.Count; i++) { JObject data = (JObject)datos[i]; if (data["valor"] != null && data["valor"].ToString().Length > 0 && data["valor"].ToString().CompareTo("null") != 0) { SubproductoPropiedad subProductoPropiedad = SubproductoPropiedadDAO.getSubproductoPropiedadPorId(Convert.ToInt32(data["id"])); SubproductoPropiedadValor valor = new SubproductoPropiedadValor(); valor.subproductoid = subproducto.id; valor.subproductos = subproducto; valor.subproductoPropiedads = subProductoPropiedad; // valor.subproductoPropiedadid = subProductoPropiedad.id; valor.usuarioCreo = User.Identity.Name; valor.fechaCreacion = DateTime.Now; valor.estado = 1; switch (subProductoPropiedad.datoTipoid) { case 1: valor.valorString = data["valor"].ToString(); break; case 2: valor.valorEntero = Convert.ToInt32(data["valor"].ToString()); break; case 3: valor.valorDecimal = Convert.ToDecimal(data["valor"].ToString()); break; case 4: valor.valorEntero = data["valor"].ToString() == "true" ? 1 : 0; break; case 5: valor.valorTiempo = Convert.ToDateTime(data["valor_f"].ToString()); break; } resultado = (resultado && SubproductoPropiedadValorDAO.guardarSubproductoPropiedadValor(valor)); } } } return(Ok(new { /*success = resultado, * subproducto.id, * subproducto.usuarioCreo, * subproducto.fechaCreacion, * subproducto.usuarioActualizo, * subproducto.fechaActualizacion*/ success = resultado, id = subproducto.id, usuarioCreo = subproducto.usuarioCreo, usuarioActualizo = subproducto.usuarioActualizo, fechaCreacion = subproducto.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"), fechaActualizacion = subproducto.fechaActualizacion != null ? subproducto.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null })); } else { return(Ok(new { success = false })); } //borrar } // borrar else // borrar { // borrar return Ok(new { success = false }); // borrar} } catch (Exception e) { CLogger.write("2", "SubproductoController.class", e); return(BadRequest(500)); } }
public IActionResult InformacionTarea([FromBody] dynamic value) { try { int objetoId = value.objetoId != null ? (int)value.objetoId : 0; int objetoTipo = value.objetoTipo != null ? (int)value.objetoTipo : 0; String lineaBase = value.lineaBase; String rol = value.rol; Stinformacion informacion = new Stinformacion(); switch (objetoTipo) { case 0: Proyecto proyecto = ProyectoDAO.getProyectoPorId(objetoId, User.Identity.Name); informacion.nombreTarea = proyecto.nombre; break; case 1: Componente componente = ComponenteDAO.getComponentePorId(objetoId, User.Identity.Name); informacion.nombreTarea = componente.nombre; break; case 2: Subcomponente subcomponente = SubComponenteDAO.getSubComponentePorId(objetoId, User.Identity.Name); informacion.nombreTarea = subcomponente.nombre; break; case 3: Producto producto = ProductoDAO.getProductoPorId(objetoId, User.Identity.Name); informacion.nombreTarea = producto.nombre; break; case 4: Subproducto subproducto = SubproductoDAO.getSubproductoPorId(objetoId, User.Identity.Name); informacion.nombreTarea = subproducto.nombre; break; case 5: Actividad actividad = ActividadDAO.GetActividadPorId(objetoId); informacion.nombreTarea = actividad.nombre; break; } AsignacionRaci asignacion = AsignacionRaciDAO.getAsignacionPorRolTarea(objetoId, objetoTipo, rol, lineaBase); asignacion.colaboradors = ColaboradorDAO.getColaborador(Convert.ToInt32(asignacion.id)); asignacion.colaboradors.usuarios = UsuarioDAO.getUsuario(User.Identity.Name); if (rol.ToLower().Equals("R")) { informacion.rol = "Responsable"; } else if (rol.ToLower().Equals("a")) { informacion.rol = "Cuentadante"; } else if (rol.ToLower().Equals("c")) { informacion.rol = "Consultor"; } else if (rol.ToLower().Equals("i")) { informacion.rol = "Quien informa"; } informacion.nombreColaborador = String.Join(" ", asignacion.colaboradors.pnombre, asignacion.colaboradors.snombre != null ? asignacion.colaboradors.snombre : "", asignacion.colaboradors.papellido, asignacion.colaboradors.sapellido != null ? asignacion.colaboradors.sapellido : ""); informacion.estadoColaborador = asignacion.colaboradors.estado == 1 ? "Alta" : "Baja"; informacion.email = asignacion.colaboradors.usuarios != null ? asignacion.colaboradors.usuarios.email : ""; return(Ok(new { success = true, informacion = informacion })); } catch (Exception e) { CLogger.write("2", "MatrizRaciController.class", e); return(BadRequest(500)); } }