private void GenerarTablaInsumos() { if (!CodigoProyecto.Equals("0")) { var proyectoProducto = (from pp in consultas.Db.ProyectoProductos orderby pp.NomProducto where pp.CodProyecto == CodigoProyecto select new { pp.Id_Producto, pp.NomProducto }); foreach (var pp in proyectoProducto) { string codT_Insumo = pp.Id_Producto.ToString(); TableRow fila = new TableRow(); #region adicionar insumo if (esMiembro && usuario.CodGrupo == Constantes.CONST_Emprendedor && !bRealizado) { fila = new TableRow(); ImageButton imgBtn = new ImageButton(); imgBtn.ID = "imgBtn_AddInsumo" + pp.Id_Producto + ";" + pp.NomProducto.ToUpper(); imgBtn.ImageUrl = "~/Images/icoAdicionarUsuario.gif"; imgBtn.CommandArgument = pp.Id_Producto.ToString(); imgBtn.CommandName = "Lista"; LinkButton addNewInsumo = new LinkButton(); addNewInsumo.ID = "linkButton" + pp.Id_Producto + ";" + pp.NomProducto.ToUpper(); addNewInsumo.Text = "Agregar insumo al producto o servicio"; addNewInsumo.CommandArgument = pp.Id_Producto.ToString(); addNewInsumo.CommandName = "Lista"; addNewInsumo.Click += new EventHandler(lnkBtn_AddInsumo_Click); addNewInsumo.ToolTip = "haga click aqui para adicionar Insumo al producto o servicio"; imgBtn.Click += new ImageClickEventHandler(lnkBtn_AddInsumo_Click); imgBtn.ToolTip = "haga click aqui para adicionar Insumo al producto o servicio"; fila.Cells.Add(celda("", 1, 1, imgBtn)); fila.Cells.Add(celda("", 2, 1, addNewInsumo)); fila.Cells.Add(celda(pp.NomProducto, 6)); fila.Attributes.Add("class", "FondoCelda"); tbl.Rows.Add(fila); } #endregion TableHeaderRow Headerfila = new TableHeaderRow(); Headerfila.Cells.Add(CeldaTitulo()); Headerfila.Cells.Add(CeldaTitulo("Materia Prima, Insumo o Requerimiento")); Headerfila.Cells.Add(CeldaTitulo("Unidad")); Headerfila.Cells.Add(CeldaTitulo("Cantidad", 160)); Headerfila.Cells.Add(CeldaTitulo("Presentacion", 160)); Headerfila.Cells.Add(CeldaTitulo("Margen de Desperdicio (%)", 160)); tbl.Rows.Add(Headerfila); var ProyectoProductoYTipoInsumo = (from ppi in consultas.Db.ProyectoProductoInsumos from pi in consultas.Db.ProyectoInsumos from pti in consultas.Db.TipoInsumos orderby pti.NomTipoInsumo, pi.nomInsumo where pi.codTipoInsumo == pti.Id_TipoInsumo && ppi.CodInsumo == pi.Id_Insumo && ppi.CodProducto == int.Parse(codT_Insumo) select new { ppi, pi.Id_Insumo, pi.Unidad, pi.nomInsumo, pti }); CantidadRegistros = ProyectoProductoYTipoInsumo.Count(); byte tipoInsumo = 0; foreach (var ppti in ProyectoProductoYTipoInsumo) { if (tipoInsumo != ppti.pti.Id_TipoInsumo) { tipoInsumo = ppti.pti.Id_TipoInsumo; fila = new TableRow(); fila.Cells.Add(celda()); fila.Cells.Add(celda(ppti.pti.NomTipoInsumo, 5)); fila.Attributes.Add("class", "FondoCelda2"); tbl.Rows.Add(fila); } fila = new TableRow(); if (esMiembro && usuario.CodGrupo == Constantes.CONST_Emprendedor && !bRealizado) { #region si es miembro y no esta realizado y esta logeado como emprendedor ImageButton imgBtn = new ImageButton(); imgBtn.ID = "imgBtn_BInsumo" + ppti.Id_Insumo + "_" + ppti.ppi.CodProducto; imgBtn.ImageUrl = "~/Images/icoBorrar.gif"; imgBtn.AlternateText = "Eliminar insumo del producto"; imgBtn.CommandArgument = ppti.Id_Insumo + ";" + ppti.ppi.CodProducto; imgBtn.CommandName = "Borrar"; imgBtn.OnClientClick = "return confirm('¿Esta seguro que desea borrar el insumo seleccionado?')"; imgBtn.Click += new ImageClickEventHandler(imgBtn_AddInsumo_Click); fila.Cells.Add(celda("", 1, 1, imgBtn)); Label lnkBtn = new Label(); lnkBtn.ID = "lnkBtn_EInsumo" + pp.Id_Producto + "_" + ppti.Id_Insumo; lnkBtn.Text = "<a href=\"javascript:OpenPage('Insumo.aspx?codproducto=" + ppti.ppi.CodProducto + "&NombreProducto=" + pp.NomProducto + "&codinsumo=" + ppti.Id_Insumo + "&codproyecto=" + CodigoProyecto + "')\">" + ppti.nomInsumo + "</a>"; fila.Cells.Add(celda("", 1, 1, lnkBtn)); fila.Cells.Add(celda(ppti.Unidad)); Label txt = new Label(); txt.ID = "Cantidad_" + ppti.Id_Insumo + "_" + ppti.ppi.CodProducto; txt.Width = 150; txt.Text = Convert.ToDecimal(ppti.ppi.Cantidad.Value).ToString(); fila.Cells.Add(celda("", 1, 1, txt, 160)); txt = new Label(); txt.ID = "Presentacion_" + ppti.Id_Insumo + "_" + ppti.ppi.CodProducto; txt.Width = 150; txt.Text = ppti.ppi.Presentacion.ToString(); fila.Cells.Add(celda("", 1, 1, txt, 160)); txt = new Label(); txt.ID = "Desperdicio_" + ppti.Id_Insumo + "_" + ppti.ppi.CodProducto; txt.Width = 150; txt.Text = ppti.ppi.Desperdicio.ToString(); fila.Cells.Add(celda("", 1, 1, txt, 160)); #endregion } else { #region si no es miembro y/o ya esta realizado o no esta logeado como emprendedor solo puede ver fila.Cells.Add(celda()); fila.Cells.Add(celda(ppti.nomInsumo)); fila.Cells.Add(celda(ppti.Unidad)); var cant = Convert.ToDecimal(ppti.ppi.Cantidad); fila.Cells.Add(celda(cant.ToString())); fila.Attributes.Add("class", "alineacion"); fila.Cells.Add(celda(ppti.ppi.Presentacion)); fila.Attributes.Add("class", "alineacion"); fila.Cells.Add(celda(ppti.ppi.Desperdicio.ToString())); fila.Attributes.Add("class", "alineacion"); #endregion } tbl.Rows.Add(fila); } } } }