Para todos los programadores adictos a las Grid, aqui les traigo un metodo sencillo de agregar Items.
private void AgregarArticulo() {
string estado = hidEstadoArticulo.Value;
List<movimiento_detalle> lista = ActualizarGridArticulo(estado);
if (estado.Equals("N"))
{
string[] patron = { "<@ARTICULO@>" };
string[] datos = hidListaArticulo.Value.Split(patron, System.StringSplitOptions.None);
foreach (string s in datos)
{
if (s != "")
{
movimiento_detalle item = ObtenerItemArticulo(s);
if (item != null)
{
lista.Add(item);
}
}
}
}
FillGridDetalle(lista);
hidAccion.Value = "";
hidEstadoArticulo.Value = "";
hidFilaEditar.Value = "";
}
private movimiento_detalle ObtenerItemArticulo(string articulo_info)
{
if (articulo_info == "") return null;
movimiento_detalle item = new movimiento_detalle();
string[] datos = articulo_info.Split('|');
int i = -1;
++i;
item.Id_articulo = Convert.ToInt32(datos[i]);
++i;
item.Articulo_des = datos[i];
return item;
}
private List<movimiento_detalle> ActualizarGridArticulo(string estado)
{
List<movimiento_detalle> lista = new List<movimiento_detalle>();
int filas = rgDetalle.Rows.Count;
for (int i = 0; i < filas; i++)
{
GridViewRow r = rgDetalle.Rows[i];
if (r.RowType == DataControlRowType.DataRow)
{
Label lblIdDetalle = (Label)r.FindControl("lblIdDetalle");
movimiento_detalle item = new movimiento_detalle();
if (estado.Equals("D") && hidFilaEditar.Value.ToString().Equals(lblIdDetalle.Text)) item = null;
else
{
int id_articulo = Convert.ToInt32(((Label)r.FindControl("lblIDArticulo")).Text);
item.Articulo_des = ((Label)r.FindControl("lblArticuloDes")).Text;
item.Cantidad = Convert.ToInt32(((TextBox)r.FindControl("txtCantidad")).Text.Trim());
}
if (item != null) lista.Add(item);
}
}
return lista;
}
Y para recuperar los datos:
private SCM_ORDEN_COMPRA_DETALLEList ObtenerDatosListaArticulo(int id_empresa)
{
SCM_ORDEN_COMPRA_DETALLEList lista = new SCM_ORDEN_COMPRA_DETALLEList();
int filas = dgArticulo.Rows.Count;
int numero_fila = 0;
for (int i = 0; i < filas; i++)
{
GridViewRow r = dgArticulo.Rows[i];
if (r.RowType == DataControlRowType.DataRow)
{
TextBox txtMontoUnitario = (TextBox)r.FindControl("txtMontoUnitario");
TextBox txtCantidadSolicitada = (TextBox)r.FindControl("txtCantidadSolicitada");
TextBox txtReferencia = (TextBox)r.FindControl("txtReferencia");
DropDownList ddlCentroActividad = (DropDownList)r.FindControl("ddlCentroActividad");
DropDownList ddlUnidadMedida = (DropDownList)r.FindControl("ddlUnidadMedida");
DropDownList ddlIGV = (DropDownList)r.FindControl("ddlIGV");
Label lblIDArticulo = (Label)r.FindControl("lblIDArticulo");
Label lblIDActivo = (Label)r.FindControl("lblIDActivo");
SCM_ORDEN_COMPRA_DETALLE item = new SCM_ORDEN_COMPRA_DETALLE();
int id_tipo_detalle = Funciones.CheckInt(((Label)r.FindControl("lblIdTipoDetalle")).Text);
int id_articulo = Funciones.CheckInt(lblIDArticulo.Text);
int id_activo_fijo = Funciones.CheckInt(lblIDActivo.Text);
item.ID_TIPO_DETALLE = id_tipo_detalle;
decimal monto_unitario = Funciones.CheckDecimal(txtMontoUnitario.Text.Trim());
item.MONTO_UNITARIO_REAL_MN = monto_unitario;
item.MONTO_UNITARIO_MN = monto_unitar;
item.REFERENCIA = txtReferencia.Text.Trim().ToUpper();
item.CON_IGV = ddlIGV.SelectedValue;
item.ID_EMPRESA = id_empresa;
item.ID_ORDEN_COMPRA_DETALLE = ++numero_fila;
lista.Add(item);
}
}
return lista;
}
Taller de PMI - Dany De La Cruz
lunes, 9 de septiembre de 2013
Como validar un CheckList en c#
Muchos de nostros hemos tenido alguna vez problemas validando checkList en Javascript, a continuacion les dejo un metodo simple y consiso sobre como hacerlo.
function Aceptar() {
var datos = '';
var lista = '';
if (validardatos()) {
var chkList = document.getElementById('chkList');
var chk = chkList.getElementsByTagName("input");
for (var i = 0; i < chk.length; i++) {
if (chk[i].checked) {
datos = chk[i].value;
lista = lista + '<@articulo@>' + datos;
}
}
}
window.opener.RetornarArticulo(lista);
window.close();
}
function validardatos() {
var chkList = document.getElementById('chkList');
var chk = chkList.getElementsByTagName("input");
for (var i = 0; i < chk.length; i++ ) {
if (chk[i].checked == true) {
return true;
}
}
alert("Seleccione al menos un Articulo");
return false;
}
Son dos funciones en Javascript una que valida y otra que envia los datos de las opcviones seleccionadas a la pagina anterior.
function Aceptar() {
var datos = '';
var lista = '';
if (validardatos()) {
var chkList = document.getElementById('chkList');
var chk = chkList.getElementsByTagName("input");
for (var i = 0; i < chk.length; i++) {
if (chk[i].checked) {
datos = chk[i].value;
lista = lista + '<@articulo@>' + datos;
}
}
}
window.opener.RetornarArticulo(lista);
window.close();
}
function validardatos() {
var chkList = document.getElementById('chkList');
var chk = chkList.getElementsByTagName("input");
for (var i = 0; i < chk.length; i++ ) {
if (chk[i].checked == true) {
return true;
}
}
alert("Seleccione al menos un Articulo");
return false;
}
Son dos funciones en Javascript una que valida y otra que envia los datos de las opcviones seleccionadas a la pagina anterior.
domingo, 8 de septiembre de 2013
Para todos los Programadores en C#
Tengan ustedes buenos días,
A continuación les dejo algunas clases para que puedan conectarse a su base de datos sin problemas desde codigo C#.
Conexion.cs
public class Conexion
{
static string cadenaConexion = @"Data Source=PC;Initial Catalog=BDD;User ID=sa;Password=****";
public static string CadenaConexion
{
get { return cadenaConexion; }
}
}
Luego Procedemos a crear una Clase Métodos, que tendra dentro dos metodos, uno sera para poder hacer referencia a un Store Procedure y el segundo para ejecutar sentencias como insert, delete, update.
Metodos.cs
public class Metodos
{
public static SqlCommand CrearComandoProc()
{
string _cadenaConexion = Conexion.CadenaConexion;
SqlConnection _conexion = new SqlConnection(_cadenaConexion);
SqlCommand _comando = new SqlCommand("", _conexion);
_comando.CommandType = CommandType.StoredProcedure;
return _comando;
}
public static int EjecutarComando(SqlCommand comando)
{
try
{
comando.Connection.Open();
return comando.ExecuteNonQuery();
}
catch { throw; }
finally
{
comando.Connection.Dispose();
comando.Connection.Close();
}
}
}
Luego de esto solo queda la capa de Presentacion y la Capa de enlace de Datos para que nuestra aplicacion pueda ser utilizada.
Espero haya servido de ayuda.
Hasta otra oportunidad.
sábado, 21 de enero de 2012
PMI- TRABAJOS REALIZADOS
CASO PRACTICO:
CAPACITACIÓN DE PROYECTOS ( Enlace - box ):
http://www.box.com/s/1vrde9g9xcsa5qh2z9ky
MS PROJECT:
http://www.box.com/s/49xu7y43mnqixmfabh3j
CURVA S TRABAJO SEMANAL:
http://www.box.com/s/zlkx4to3ubr4xcd9s6yp
CURVA S COSTO SEMANAL:
http://www.box.com/s/p72y5nzy01622nj7memy
WBS (-EDT-):
http://www.box.com/s/k4ignxa63h0epvtqrefr
CAPACITACIÓN DE PROYECTOS ( Enlace - box ):
http://www.box.com/s/1vrde9g9xcsa5qh2z9ky
MS PROJECT:
http://www.box.com/s/49xu7y43mnqixmfabh3j
CURVA S TRABAJO SEMANAL:
http://www.box.com/s/zlkx4to3ubr4xcd9s6yp
CURVA S COSTO SEMANAL:
http://www.box.com/s/p72y5nzy01622nj7memy
WBS (-EDT-):
http://www.box.com/s/k4ignxa63h0epvtqrefr
sábado, 19 de noviembre de 2011
Trabajo Taller - PMI:
CASO PRACTICO:
BUSQUEDA DE DEPARTAMENTOS
http://www.box.com/s/74a0fen21vpsme0o5zxn
PROJECT CHARTER:
http://www.box.com/s/k6bqgshugo7d0ydxdymh
LISTA DE STAKEHOLDERS:
http://www.box.com/s/rz7zey9yza5mea0fne4b
BUSQUEDA DE DEPARTAMENTOS
http://www.box.com/s/74a0fen21vpsme0o5zxn
PROJECT CHARTER:
http://www.box.com/s/k6bqgshugo7d0ydxdymh
LISTA DE STAKEHOLDERS:
http://www.box.com/s/rz7zey9yza5mea0fne4b
domingo, 13 de noviembre de 2011
Enlaces del Curso Taller PMI
Videos sobre el PMBOK y el examen de Certificación en PMP
ENLACE EN EL DISCO VIRTUAL BOX.NET PARA ENTREGA DE TRABAJOS:
ENLACE EN EL DISCO VIRTUAL BOX.NET PARA ENTREGA DE TRABAJOS:
viernes, 11 de noviembre de 2011
Gestión de Proyectos - PMI
STAKEHOLDERS
La Gestión de Proyectos es un tema muy amplio a tratar, podemos mencionar desde la Gerencia de Sub-Proyectos que vendría a ser el primer nivel de esta gran pirámide, hasta la Gerencia Organizacional de Proyectos donde se gestionan los Portafolios ( varios proyectos apuntando a diversos temas ).
Los Proyectos si bien sabemos son muy importantes para el desarrollo tanto social, económico e intelectual en nuestra sociedad, los podemos definir como un esfuerzo temporal ya que solo tienen un tiempo limitado para crear un producto o servicio único, por medio de entregables definidos.Para la realización de estos intervienen varios agentes: sponsor, stakeholders, clientes, proveedores, comité de proyectos entre otros.
En esta entrada, enfatizaremos la importancia de los stakeholders, son todas aquellos involucrados positiva o negativamente en el proyecto, con al menos un 1% de participación, como ejemplos de estos podemos mencionar a los empleados, inversionistas, generadores de opinión, etc.
Un punto muy importante a resaltar, y que no se ha estado tomando en cuenta, es que el pueblo o la comunidad donde se realizara el proyecto, es un muy importante stakeholder, muchas empresas al momento de realizar proyectos olvidan este punto tan importante ocasionando conflictos y descuerdos entre estos.
Conflictos tan grandes que ocasionan cierres de carreteras y paralizaciones en las obras, como vemos actualmente en las grandes mineras, todo esto se pudo haber evitado con un buen estudio realizado sobre los stakeholders tomando en cuenta cada detalle a realizar en el proyecto.
Suscribirse a:
Comentarios (Atom)