コード例 #1
0
        public IActionResult ProductoPropiedadPorTipoProducto(int idProductoTipo)
        {
            try
            {
                List <ProductoPropiedad>   productopropiedades = ProductoPropiedadDAO.getProductoPropiedadesPorTipo(idProductoTipo);
                List <StProductoPropiedad> stproductopropiedad = new List <StProductoPropiedad>();
                foreach (ProductoPropiedad productopropiedad in productopropiedades)
                {
                    StProductoPropiedad temp = new StProductoPropiedad();
                    temp.id          = productopropiedad.id;
                    temp.nombre      = productopropiedad.nombre;
                    temp.descripcion = productopropiedad.descripcion;

                    productopropiedad.datoTipos = DatoTipoDAO.getDatoTipo(productopropiedad.datoTipoid);

                    temp.datoTipoid         = productopropiedad.datoTipoid;
                    temp.datoTipoNombre     = productopropiedad.datoTipos.nombre;
                    temp.fechaActualizacion = productopropiedad.fechaActualizacion != null?productopropiedad.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null;

                    temp.fechaCreacion    = productopropiedad.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss");
                    temp.usuarioActualizo = productopropiedad.usuarioActualizo;
                    temp.usuarioCreo      = productopropiedad.usuarioCreo;
                    temp.estado           = productopropiedad.estado;
                    stproductopropiedad.Add(temp);
                }

                return(Ok(new { success = true, productopropiedades = stproductopropiedad }));
            }
            catch (Exception e)
            {
                CLogger.write("7", "ProductoPropiedadController.class", e);
                return(BadRequest(500));
            }
        }
コード例 #2
0
        public IActionResult ProductoPropiedadPorTipo(int idproducto, int idproductotipo)
        {
            try
            {
                List <ProductoPropiedad> productoPropiedades = ProductoPropiedadDAO.getProductoPropiedadesPorTipo(idproductotipo);

                List <Dictionary <String, Object> > campos = new List <Dictionary <String, Object> >();
                foreach (ProductoPropiedad productoPropiedad in productoPropiedades)
                {
                    Dictionary <String, Object> campo = new Dictionary <String, Object>();
                    campo.Add("id", productoPropiedad.id);
                    campo.Add("nombre", productoPropiedad.nombre);
                    campo.Add("tipo", productoPropiedad.datoTipoid);
                    ProductoPropiedadValor productoPropiedadValor = ProductoPropiedadValorDAO.getValorPorProductoYPropiedad(productoPropiedad.id, idproducto);
                    if (productoPropiedadValor != null)
                    {
                        switch (productoPropiedad.datoTipoid)
                        {
                        case 1:
                            campo.Add("valor", productoPropiedadValor.valorString);
                            break;

                        case 2:
                            campo.Add("valor", productoPropiedadValor.valorEntero);
                            break;

                        case 3:
                            campo.Add("valor", productoPropiedadValor.valorDecimal);
                            break;

                        case 4:
                            campo.Add("valor", productoPropiedadValor.valorEntero == 1 ? true : false);
                            break;

                        case 5:
                            campo.Add("valor", productoPropiedadValor.valorTiempo != null ? productoPropiedadValor.valorTiempo.Value.ToString("dd/MM/yyyy H:mm:ss") : null);
                            break;
                        }
                    }
                    else
                    {
                        campo.Add("valor", "");
                    }
                    campos.Add(campo);
                }

                List <object> estructuraCamposDinamicos = CFormaDinamica.convertirEstructura(campos);

                return(Ok(new { success = true, productopropiedades = estructuraCamposDinamicos }));
            }
            catch (Exception e)
            {
                CLogger.write("6", "ProductoPropiedadController.class", e);
                return(BadRequest(500));
            }
        }
コード例 #3
0
        public IActionResult totalElementos([FromBody] dynamic value)
        {
            try
            {
                String filtro_busqueda = value.filtro_busqueda;
                long   total           = ProductoPropiedadDAO.getTotal(filtro_busqueda);

                return(Ok(new { success = true, total = total }));
            }
            catch (Exception e)
            {
                CLogger.write("5", "ProductoPropiedadController.class", e);
                return(BadRequest(500));
            }
        }
コード例 #4
0
        public IActionResult ProductoPropiedad(int id)
        {
            try
            {
                ProductoPropiedad productoPropiedad = ProductoPropiedadDAO.getProductoPropiedad(id);
                productoPropiedad.usuarioActualizo = User.Identity.Name;
                bool eliminado = ProductoPropiedadDAO.eliminar(productoPropiedad);

                return(Ok(new { success = eliminado }));
            }
            catch (Exception e)
            {
                CLogger.write("4", "ProductoPropiedadController.class", e);
                return(BadRequest(500));
            }
        }
コード例 #5
0
        public IActionResult ProductoPropiedad([FromBody] dynamic value)
        {
            try
            {
                ProductoPropiedadValidator validator = new ProductoPropiedadValidator();
                ValidationResult           results   = validator.Validate(value);

                if (results.IsValid)
                {
                    String nombre      = value.nombre;
                    String descripcion = value.descripcion;
                    int    tipo        = value.datoTipoid != null ? (int)value.datoTipoid : default(int);

                    ProductoPropiedad productoPropiedad = new ProductoPropiedad();
                    productoPropiedad.nombre        = nombre;
                    productoPropiedad.descripcion   = descripcion;
                    productoPropiedad.datoTipoid    = tipo;
                    productoPropiedad.usuarioCreo   = User.Identity.Name;
                    productoPropiedad.fechaCreacion = DateTime.Now;
                    productoPropiedad.estado        = 1;

                    bool ret = ProductoPropiedadDAO.guardarProductoPropiedad(productoPropiedad);

                    return(Ok(new
                    {
                        success = ret,
                        id = productoPropiedad.id,
                        usuarioCreo = productoPropiedad.usuarioCreo,
                        usuarioActualizo = productoPropiedad.usuarioActualizo,
                        fechaCreacion = productoPropiedad.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"),
                        fechaActualizacion = productoPropiedad.fechaActualizacion != null ? productoPropiedad.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null,
                    }));
                }
                else
                {
                    return(Ok(new { success = false }));
                }
            }
            catch (Exception e)
            {
                CLogger.write("2", "ProductoPropiedadController.class", e);
                return(BadRequest(500));
            }
        }
コード例 #6
0
        public IActionResult ProductoPropiedadPagina([FromBody] dynamic value)
        {
            try
            {
                int    pagina           = value.pagina != null ? (int)value.pagina : 1;
                int    registros        = value.registros != null ? (int)value.registros : 20;
                String filtro_busqueda  = value.filtro_busqueda;
                String columna_ordenada = value.columna_ordenada;
                String orden_direccion  = value.orden_direccion;

                List <ProductoPropiedad> lstProductoPropiedades = ProductoPropiedadDAO.getProductoPropiedadPagina(pagina, registros, filtro_busqueda, columna_ordenada, orden_direccion);

                List <StProductoPropiedad> listaEstructuraPojos = new List <StProductoPropiedad>();

                foreach (ProductoPropiedad productoPropiedad in lstProductoPropiedades)
                {
                    StProductoPropiedad temp = new StProductoPropiedad();
                    temp.id          = productoPropiedad.id;
                    temp.nombre      = productoPropiedad.nombre;
                    temp.descripcion = productoPropiedad.descripcion;

                    productoPropiedad.datoTipos = DatoTipoDAO.getDatoTipo(productoPropiedad.datoTipoid);

                    temp.datoTipoid         = productoPropiedad.datoTipoid;
                    temp.datoTipoNombre     = productoPropiedad.datoTipos.nombre;
                    temp.usuarioCreo        = productoPropiedad.usuarioCreo;
                    temp.usuarioActualizo   = productoPropiedad.usuarioActualizo;
                    temp.fechaCreacion      = productoPropiedad.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss");
                    temp.fechaActualizacion = productoPropiedad.fechaActualizacion != null?productoPropiedad.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null;

                    listaEstructuraPojos.Add(temp);
                }

                return(Ok(new { success = true, productoPropiedades = listaEstructuraPojos }));
            }
            catch (Exception e)
            {
                CLogger.write("1", "ProductoPropiedadController.class", e);
                return(BadRequest(500));
            }
        }
コード例 #7
0
        public IActionResult Producto(int id, [FromBody] dynamic value)
        {
            try
            {
                ProductoValidator validator = new ProductoValidator();
                ValidationResult  results   = validator.Validate(value);

                if (results.IsValid)
                {
                    bool     ret      = false;
                    Producto producto = ProductoDAO.getProductoPorId(id);
                    producto.nombre            = value.nombre;
                    producto.descripcion       = value.descripcion;
                    producto.componenteid      = value.componenteid;
                    producto.subcomponenteid   = value.subcomponenteid;
                    producto.productoTipoid    = value.productoTipoid;
                    producto.ueunidadEjecutora = value.ueunidadEjecutora;
                    producto.entidad           = value.entidad;
                    producto.ejercicio         = value.ejercicio;
                    producto.snip                = value.snip;
                    producto.programa            = value.programa;
                    producto.subprograma         = value.subprograma;
                    producto.proyecto            = value.proyecto;
                    producto.obra                = value.obra;
                    producto.renglon             = value.renglon;
                    producto.ubicacionGeografica = value.ubicacionGeografica;
                    producto.actividad           = value.actividad;
                    producto.latitud             = value.latitud;
                    producto.longitud            = value.longitud;
                    producto.peso                = value.peso;
                    producto.costo               = value.costo;
                    producto.acumulacionCostoid  = value.acumulacionCostoid;
                    producto.fechaInicio         = value.fechaInicio;

                    DateTime fechaFin;
                    DateTime.TryParse((string)value.fechaFin, out fechaFin);
                    producto.fechaFin = fechaFin;

                    DateTime fechaInicioReal;
                    DateTime.TryParse((string)value.fechaInicioReal, out fechaInicioReal);
                    producto.fechaInicioReal = fechaInicioReal;

                    DateTime fechaFinReal;
                    DateTime.TryParse((string)value.fechaFinReal, out fechaFinReal);
                    producto.fechaFinReal = fechaFinReal;

                    producto.duracion           = value.duracion;
                    producto.duracionDimension  = value.duracionDimension;
                    producto.inversionNueva     = value.inversionNueva;
                    producto.acumulacionCostoid = value.acumulacionCostoid;
                    producto.usuarioActualizo   = User.Identity.Name;
                    producto.fechaActualizacion = DateTime.Now;

                    ret = ProductoDAO.guardarProducto(producto, true);

                    if (ret)
                    {
                        String pagosPlanificados = value.pagosPlanificados;
                        if (!producto.acumulacionCostoid.Equals(2) || pagosPlanificados != null && pagosPlanificados.Length > 0)
                        {
                            List <PagoPlanificado> pagosActuales = PagoPlanificadoDAO.getPagosPlanificadosPorObjeto(producto.id, 3);
                            foreach (PagoPlanificado pagoTemp in pagosActuales)
                            {
                                PagoPlanificadoDAO.eliminarTotalPagoPlanificado(pagoTemp);
                            }
                        }

                        if (producto.acumulacionCostoid.Equals(2) && pagosPlanificados != null && pagosPlanificados.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"].ToString()) : default(decimal);

                                PagoPlanificado pagoPlanificado = new PagoPlanificado();
                                pagoPlanificado.fechaPago     = fechaPago;
                                pagoPlanificado.pago          = monto;
                                pagoPlanificado.objetoId      = producto.id;
                                pagoPlanificado.objetoTipo    = 3;
                                pagoPlanificado.usuarioCreo   = User.Identity.Name;
                                pagoPlanificado.fechaCreacion = DateTime.Now;
                                pagoPlanificado.estado        = 1;
                                ret = ret && PagoPlanificadoDAO.Guardar(pagoPlanificado);
                            }
                        }
                    }

                    if (ret)
                    {
                        List <ProductoPropiedad> productoPropiedades = ProductoPropiedadDAO.getProductoPropiedadesPorTipo(producto.productoTipoid);

                        foreach (ProductoPropiedad productoPropiedad in productoPropiedades)
                        {
                            ProductoPropiedadValor productoPropVal = ProductoPropiedadValorDAO.getValorPorProdcutoYPropiedad(productoPropiedad.id, producto.id);
                            if (productoPropVal != null)
                            {
                                ret = ret && ProductoPropiedadValorDAO.eliminarProductoPropiedadValor(productoPropVal.productoPropiedadid, productoPropVal.productoid);
                            }
                        }

                        JArray datosDinamicos = JArray.Parse((string)value.camposDinamicos);

                        for (int i = 0; i < datosDinamicos.Count; i++)
                        {
                            JObject data = (JObject)datosDinamicos[i];

                            if (data["valor"] != null && data["valor"].ToString().Length > 0 && data["valor"].ToString().CompareTo("null") != 0)
                            {
                                ProductoPropiedad      productoPropiedad = ProductoPropiedadDAO.getProductoPropiedad(Convert.ToInt32(data["id"]));
                                ProductoPropiedadValor valor             = new ProductoPropiedadValor();
                                valor.productos           = producto;
                                valor.productoid          = producto.id;
                                valor.productoPropiedads  = productoPropiedad;
                                valor.productoPropiedadid = productoPropiedad.id;
                                valor.usuarioCreo         = User.Identity.Name;
                                valor.fechaCreacion       = DateTime.Now;

                                switch (productoPropiedad.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;
                                }
                                ret = (ret && ProductoPropiedadValorDAO.guardarProductoPropiedadValor(valor));
                            }
                        }
                    }

                    return(Ok(new
                    {
                        success = ret,
                        id = producto.id,
                        usuarioCreo = producto.usuarioCreo,
                        usuarioActualizo = producto.usuarioActualizo,
                        fechaCreacion = producto.fechaCreacion.ToString("dd/MM/yyyy H:mm:ss"),
                        fechaActualizacion = producto.fechaActualizacion != null ? producto.fechaActualizacion.Value.ToString("dd/MM/yyyy H:mm:ss") : null
                    }));
                }
                else
                {
                    return(Ok(new { success = false }));
                }
            }
            catch (Exception e)
            {
                CLogger.write("3", "ProductoController.class", e);
                return(BadRequest(500));
            }
        }