Ejemplo n.º 1
0
        public DataTable ProyectoInsumoPrecio(int CodigoInsumo, int CodigoProyecto)
        {
            var dttProyectoInsumoPrecio = new DataTable();
            var qry = string.Empty;

            qry = string.Format("SELECT [TiempoProyeccion] FROM [dbo].[ProyectoMercadoProyeccionVentas] WHERE [CodProyecto] = {0}",
                                Convert.ToInt32(HttpContext.Current.Session["CodProyecto"] ?? 0)); var okm = new Clases.genericQueries().executeQueryReader(qry);
            okm.Read();
            string Camposformat = "SELECT CONVERT(varchar, convert(money, isnull([1],0)), 1) [Costo Año1] ,CONVERT(varchar, convert(money, isnull([2],0)), 1) [Costo Año2], CONVERT(varchar, convert(money, isnull([3],0)), 1)  [Costo Año3]," +
                                  "CONVERT(varchar, convert(money, isnull([4],0)), 1) [Costo Año4], CONVERT(varchar, convert(money, isnull([5],0)), 1)  [Costo Año5],CONVERT(varchar, convert(money, isnull([6],0)), 1) [Costo Año6]," +
                                  "CONVERT(varchar, convert(money, isnull([6],0)), 1)  [Costo Año7],isnull([8],0) [Costo Año8],CONVERT(varchar, convert(money, isnull([9],0)), 1)  [Costo Año9],CONVERT(varchar, convert(money, isnull([10],0)), 1) [Costo Año10]  ";

            Camposformat += "FROM (SELECT CodInsumo, Periodo, Precio FROM [dbo].[ProyectoInsumoPrecio]) N PIVOT(SUM(Precio) FOR [Periodo] IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10]) ) AS Periodo WHERE CodInsumo = " + CodigoInsumo;
            dttProyectoInsumoPrecio.Load(new Clases.genericQueries().executeQueryReader(Camposformat));
            var idx = dttProyectoInsumoPrecio.Columns.Count;

            var tiempoProyeccion = Negocio.PlanDeNegocioV2.Formulacion.DesarrolloSolucion.Proyeccion.GetTiempoProyeccion(CodigoProyecto);
            var inx = tiempoProyeccion == null ? 3 : (Int16)tiempoProyeccion.TiempoProyeccion;

            while (idx > inx)
            {
                --idx;
                dttProyectoInsumoPrecio.Columns.RemoveAt(idx);
            }
            if (dttProyectoInsumoPrecio.Rows.Count == 0)
            {
                var ijn = dttProyectoInsumoPrecio.NewRow();
                for (int k = 0; k < dttProyectoInsumoPrecio.Columns.Count; k++)
                {
                    ijn[k] = 0;
                }
                dttProyectoInsumoPrecio.Rows.Add(ijn);
            }
            return(dttProyectoInsumoPrecio);
        }
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            var         indicefila   = ((GridViewRow)((Control)sender).NamingContainer).RowIndex;
            GridViewRow GVInventario = GV_productoServicio.Rows[indicefila];

            String Id_Producto = GV_productoServicio.DataKeys[GVInventario.RowIndex].Value.ToString();

            var qry = string.Format("SELECT  ProyectoProductoInsumo.CodInsumo, ProyectoInsumo.nomInsumo FROM ProyectoProductoInsumo INNER JOIN " +
                                    "ProyectoInsumo ON ProyectoProductoInsumo.CodInsumo = ProyectoInsumo.Id_Insumo WHERE " +
                                    "(ProyectoProductoInsumo.CodProducto = {0})", Id_Producto);
            var tyu = new Clases.genericQueries().executeQueryReader(qry);
            var iop = string.Empty;

            while (tyu.Read())
            {
                iop += string.Format("{0} - {1}", tyu["CodInsumo"], tyu["nomInsumo"]);
            }
            qry = string.Format("Error durante la eliminación del producto, tiene asignados los siguientes insumos:{0}", iop);
            if (!string.IsNullOrEmpty(iop))
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", string.Format("alert('{0}');", qry), true);
            }
            else
            {
                SqlCommand    cmd;
                SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());

                try
                {
                    conn.Open();
                    cmd = new SqlCommand("DELETE FROM [proyectoproductoprecio] WHERE [codproducto] = " + Id_Producto, conn);
                    //conn.Open();
                    cmd.ExecuteNonQuery();
                    //conn.Close();
                    cmd = new SqlCommand("DELETE FROM [proyectoproductounidadesventas] WHERE [codproducto] = " + Id_Producto, conn);
                    //conn.Open();
                    cmd.ExecuteNonQuery();
                    //conn.Close();
                    cmd = new SqlCommand("DELETE FROM [ProyectoProducto] WHERE [Id_Producto] = " + Id_Producto, conn);
                    //conn.Open();
                    cmd.ExecuteNonQuery();
                    //conn.Close();
                    ProyectoGeneral.GetUltimaActualizacion(lblUltimaActualizacion, lblFechaUltimaActualizacion, chkEsRealizado, btnUpdateTab, CodigoTab, CodigoProyecto);
                }
                catch (SqlException se)
                {
                    throw se;
                }
                finally
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
            llenarGridView();
            Tabla_VentasUnidades();
            Tabla_IngresosVenta();
        }