public void Actualizar(OrdenCompraLineaDTO obj) { Database db = DatabaseFactory.CreateDatabase("ApplicationConnectionString"); DbCommand dbCommand = db.GetStoredProcCommand(C_ACTUALIZAR); db.AddInParameter(dbCommand, "@id_orden_compra", DbType.Int32, obj.IdOrdenCompra); db.AddInParameter(dbCommand, "@id_orden_compra_linea", DbType.Int32, obj.IdOrdenCompraLinea); db.AddInParameter(dbCommand, "@numero_linea", DbType.Int32, obj.NumeroLinea); db.AddInParameter(dbCommand, "@id_articulo", DbType.Int32, obj.IdArticulo); db.AddInParameter(dbCommand, "@id_unidad_medida", DbType.Int32, obj.IdUnidadMedida); db.AddInParameter(dbCommand, "@descripcion_linea", DbType.String, obj.DescripcionLinea); if (obj.Precio > 0) db.AddInParameter(dbCommand, "@precio", DbType.Decimal, obj.Precio); else db.AddInParameter(dbCommand, "@precio", DbType.Decimal, null); if (obj.Cantidad > 0) db.AddInParameter(dbCommand, "@cantidad", DbType.Decimal, obj.Cantidad); else db.AddInParameter(dbCommand, "@cantidad", DbType.Decimal, null); if (obj.Importe > 0) db.AddInParameter(dbCommand, "@importe", DbType.Decimal, obj.Importe); else db.AddInParameter(dbCommand, "@importe", DbType.Decimal, null); db.AddInParameter(dbCommand, "@id_cotizacion_linea", DbType.Int32, obj.IdCotizacionLinea); db.AddInParameter(dbCommand, "@id_pedido_linea", DbType.Int32, obj.IdPedidoLinea); if (obj.FechaPactada.Year == 1) db.AddInParameter(dbCommand, "@fecha_pactada", DbType.DateTime, null ); else db.AddInParameter(dbCommand, "@fecha_pactada", DbType.DateTime, obj.FechaPactada); if (obj.CantidadRecibida > 0) db.AddInParameter(dbCommand, "@cantidad_recibida", DbType.Decimal, obj.CantidadRecibida); else db.AddInParameter(dbCommand, "@cantidad_recibida", DbType.Decimal, null); db.AddInParameter(dbCommand, "@estado_cotrol", DbType.String, obj.EstadoControl); if (obj.FechaCreacion.Year == 1) db.AddInParameter(dbCommand, "@fecha_creacion", DbType.DateTime, null); else db.AddInParameter(dbCommand, "@fecha_creacion", DbType.DateTime, obj.FechaCreacion); db.AddInParameter(dbCommand, "@id_usuario_creacion", DbType.Int32, obj.IdUsuarioCreacion); if (obj.FechaModificacion.Year == 1) db.AddInParameter(dbCommand, "@fecha_modificacion", DbType.DateTime, null); else db.AddInParameter(dbCommand, "@fecha_modificacion", DbType.DateTime, obj.FechaModificacion); db.AddInParameter(dbCommand, "@id_usuario_modificacion", DbType.Int32, obj.IdUsuarioModificacion); db.ExecuteNonQuery(dbCommand); }
protected void btnRecepcionar_Click(object sender, EventArgs e) { UsuarioDTO objUsuarioDTO = objUsuarioDAO.ListarPorLogin(HttpContext.Current.User.Identity.Name); Boolean hayRecepcion = false; Boolean Validacion = false; this.lblMensaje.Text = ""; foreach (GridViewRow row in this.gvLista.Rows) { DataKey dKey = gvLista.DataKeys[row.RowIndex]; CheckBox chkSeleccion = (CheckBox)row.Cells[0].FindControl("chkSeleccion"); if (chkSeleccion.Checked ) { hayRecepcion = true; TextBox txtCantidadRecepcion = (TextBox)row.Cells[0].FindControl("txtCantidadRecepcion"); if (txtCantidadRecepcion.Text != "") { decimal cantidad = Convert.ToDecimal(txtCantidadRecepcion.Text); decimal cantidad_orden_compra = Convert.ToDecimal(row.Cells[5].Text); decimal cantidad_recibida = Convert.ToDecimal(row.Cells[8].Text); decimal cantidad_pendiente = cantidad_orden_compra - cantidad_recibida; if (cantidad > 0) { if (cantidad <= cantidad_pendiente) { Validacion = true; } else { this.lblMensaje.Text = "Cantidad de recepcion es mayor a la cantidad pendiente de recepcionar"; } } else { this.lblMensaje.Text = "Cantidad de recepcion debe ser un valor positivo"; } } else { this.lblMensaje.Text = "Indique cantida a recepcionar"; } } } if (!hayRecepcion) { this.lblMensaje.Text = "Seleccione una linea he indique cantida a recepcionar"; } if (Validacion) { OrdenCompraDTO objOrdenCompra = new OrdenCompraDTO(); RecepcionDTO objRecepcion = new RecepcionDTO(); objOrdenCompra = objOrdenCompraDAO.ListarPorClave(Convert.ToInt32(this.txtIdOrdenCompra.Text)); objRecepcion.IdProveedor = objOrdenCompra.IdProveedor; objRecepcion.FechaRecepcion = AppUtilidad.stringToDateTime(this.txtFechaRecepcion.Text, "DD/MM/YYYY"); objRecepcion.NumeroRecibo = this.txtGuiaRemision.Text; objRecepcion.IdOrdenCompra = objOrdenCompra.IdOrdenCompra; objRecepcion.Anotaciones = this.txtObservaciones.Text; objRecepcion.TipoRecepcion = "COMPRA"; objRecepcion.IdSede = objOrdenCompra.IdSede; objRecepcion.IdProyecto = objOrdenCompra.IdProyecto; objRecepcion.FechaCreacion = DateTime.Now; objRecepcion.IdUsuarioCreacion = objUsuarioDTO.IdUsuario; int IdRecepcion = objRecepcionDAO.Agregar(objRecepcion); foreach (GridViewRow row in this.gvLista.Rows) { DataKey dKey = gvLista.DataKeys[row.RowIndex]; int IdOrdenCompraLinea = Convert.ToInt32 (dKey[0].ToString()); TextBox txtCantidadRecepcion = (TextBox)row.Cells[0].FindControl("txtCantidadRecepcion"); decimal cantidad = Convert.ToDecimal(txtCantidadRecepcion.Text); decimal cantidad_orden_compra = Convert.ToDecimal(row.Cells[5].Text); decimal cantidad_recibida = Convert.ToDecimal(row.Cells[8].Text); decimal cantidad_pendiente = cantidad_orden_compra - cantidad_recibida; OrdenCompraLineaDTO objOrdenCompraLinea = new OrdenCompraLineaDTO(); RecepcionLineaDTO objRecepcionLinea = new RecepcionLineaDTO(); objOrdenCompraLinea = objOrdenCompraLineaDAO.ListarPorClave(objOrdenCompra.IdOrdenCompra, IdOrdenCompraLinea); objRecepcionLinea.IdRecepcion = IdRecepcion; objRecepcionLinea.IdOrdenCompra = objOrdenCompraLinea.IdOrdenCompra; objRecepcionLinea.IdOrdenCompraLinea = objOrdenCompraLinea.IdOrdenCompraLinea; objRecepcionLinea.IdArticulo = objOrdenCompraLinea.IdArticulo; objRecepcionLinea.CantidadRecepcionada = cantidad; objRecepcionLinea.Anotaciones = ""; objRecepcionLinea.FechaCreacion = DateTime.Now; objRecepcionLinea.IdUsuarioCreacion = objUsuarioDTO.IdUsuario; objRecepcionLinea.Estado = AppConstantes.ESTADO_RECEPCION_INGRESO_OC; objRecepcionLineaDAO.Agregar(objRecepcionLinea); } CotizacionDTO objCotizacionDTO = objCotizacionDAO.ListarPorClave(objOrdenCompra.IdCotizacion); PedidoDTO objPedidoDTO = objPedidoDAO.ListarPorClave(objCotizacionDTO.IdPedido); objPedidoDTO.EstadoControl = AppConstantes.PEDIDO_ESTADO_CONTROL_OC_CON_RECEPCION; objPedidoDAO.Actualizar(objPedidoDTO); this.lblMensajeRecepcion.Text = "Se genero la Recepción " + IdRecepcion.ToString(); this.panRecepcion.Visible = false; } }
public OrdenCompraLineaDTO ListarPorClave(int IdOrdenCompra, int IdOrdenCompraLinea) { OrdenCompraLineaDTO obj = null; Database db = DatabaseFactory.CreateDatabase("ApplicationConnectionString"); DbCommand dbCommand = db.GetStoredProcCommand(C_LISTAR_POR_CLAVE); db.AddInParameter(dbCommand, "@id_orden_compra", DbType.Int32, IdOrdenCompra); db.AddInParameter(dbCommand, "@id_orden_compra_linea", DbType.Int32, IdOrdenCompraLinea); using (IDataReader dr = db.ExecuteReader(dbCommand)) { if (dr.Read()) { obj = new OrdenCompraLineaDTO(); if (dr["id_orden_compra"] != System.DBNull.Value) obj.IdOrdenCompra = (int)dr["id_orden_compra"]; if (dr["id_orden_compra_linea"] != System.DBNull.Value) obj.IdOrdenCompraLinea = (int)dr["id_orden_compra_linea"]; if (dr["numero_linea"] != System.DBNull.Value) obj.NumeroLinea = (int)dr["numero_linea"]; if (dr["id_articulo"] != System.DBNull.Value) obj.IdArticulo = (int)dr["id_articulo"]; if (dr["id_unidad_medida"] != System.DBNull.Value) obj.IdUnidadMedida = (int)dr["id_unidad_medida"]; if (dr["descripcion_linea"] != System.DBNull.Value) obj.DescripcionLinea = (string)dr["descripcion_linea"]; if (dr["precio"] != System.DBNull.Value) obj.Precio = (Decimal)dr["precio"]; if (dr["cantidad"] != System.DBNull.Value) obj.Cantidad = (Decimal)dr["cantidad"]; if (dr["importe"] != System.DBNull.Value) obj.Importe = (Decimal)dr["importe"]; if (dr["id_cotizacion_linea"] != System.DBNull.Value) obj.IdCotizacionLinea = (int)dr["id_cotizacion_linea"]; if (dr["id_pedido_linea"] != System.DBNull.Value) obj.IdPedidoLinea = (int)dr["id_pedido_linea"]; if (dr["fecha_pactada"] != System.DBNull.Value) obj.FechaPactada = (DateTime)dr["fecha_pactada"]; if (dr["fecha_creacion"] != System.DBNull.Value) obj.FechaCreacion = (DateTime)dr["fecha_creacion"]; if (dr["id_usuario_creacion"] != System.DBNull.Value) obj.IdUsuarioCreacion = (int)dr["id_usuario_creacion"]; if (dr["fecha_modificacion"] != System.DBNull.Value) obj.FechaModificacion = (DateTime)dr["fecha_modificacion"]; if (dr["id_usuario_modificacion"] != System.DBNull.Value) obj.IdUsuarioModificacion = (int)dr["id_usuario_modificacion"]; if (dr["descripcion_articulo"] != System.DBNull.Value) obj.DescripcionArticulo = (string)dr["descripcion_articulo"]; if (dr["nombre_unidad_medida"] != System.DBNull.Value) obj.NombreUnidadMedida = (string)dr["nombre_unidad_medida"]; } } return obj; }
public List<OrdenCompraLineaDTO> ListarPendienteRecepcion(int IdOrdenCompra) { List<OrdenCompraLineaDTO> Lista = new List<OrdenCompraLineaDTO>(); Database db = DatabaseFactory.CreateDatabase("ApplicationConnectionString"); DbCommand dbCommand = db.GetStoredProcCommand(C_LISTAR_PENDIENTE_RECEPCION); db.AddInParameter(dbCommand, "@id_orden_compra", DbType.Int32, IdOrdenCompra); using (IDataReader dr = db.ExecuteReader(dbCommand)) { while (dr.Read()) { OrdenCompraLineaDTO obj = new OrdenCompraLineaDTO(); if (dr["id_orden_compra"] != System.DBNull.Value) obj.IdOrdenCompra = (int)dr["id_orden_compra"]; if (dr["id_orden_compra_linea"] != System.DBNull.Value) obj.IdOrdenCompraLinea = (int)dr["id_orden_compra_linea"]; if (dr["numero_linea"] != System.DBNull.Value) obj.NumeroLinea = (int)dr["numero_linea"]; if (dr["id_articulo"] != System.DBNull.Value) obj.IdArticulo = (int)dr["id_articulo"]; if (dr["id_unidad_medida"] != System.DBNull.Value) obj.IdUnidadMedida = (int)dr["id_unidad_medida"]; if (dr["descripcion_linea"] != System.DBNull.Value) obj.DescripcionLinea = (string)dr["descripcion_linea"]; if (dr["precio"] != System.DBNull.Value) obj.Precio = (Decimal)dr["precio"]; if (dr["cantidad"] != System.DBNull.Value) obj.Cantidad = (Decimal)dr["cantidad"]; if (dr["importe"] != System.DBNull.Value) obj.Importe = (Decimal)dr["importe"]; if (dr["id_cotizacion_linea"] != System.DBNull.Value) obj.IdCotizacionLinea = (int)dr["id_cotizacion_linea"]; if (dr["id_pedido_linea"] != System.DBNull.Value) obj.IdPedidoLinea = (int)dr["id_pedido_linea"]; if (dr["fecha_pactada"] != System.DBNull.Value) obj.FechaPactada = (DateTime)dr["fecha_pactada"]; if (dr["fecha_creacion"] != System.DBNull.Value) obj.FechaCreacion = (DateTime)dr["fecha_creacion"]; if (dr["id_usuario_creacion"] != System.DBNull.Value) obj.IdUsuarioCreacion = (int)dr["id_usuario_creacion"]; if (dr["fecha_modificacion"] != System.DBNull.Value) obj.FechaModificacion = (DateTime)dr["fecha_modificacion"]; if (dr["id_usuario_modificacion"] != System.DBNull.Value) obj.IdUsuarioModificacion = (int)dr["id_usuario_modificacion"]; if (dr["codigo_articulo"] != System.DBNull.Value) obj.CodigoArticulo = (string)dr["codigo_articulo"]; if (dr["descripcion_articulo"] != System.DBNull.Value) obj.DescripcionArticulo = (string)dr["descripcion_articulo"]; if (dr["nombre_unidad_medida"] != System.DBNull.Value) obj.NombreUnidadMedida = (string)dr["nombre_unidad_medida"]; if (dr["cantidad_recibida"] != System.DBNull.Value) obj.CantidadRecibida = (Decimal)dr["cantidad_recibida"]; Lista.Add(obj); } } return Lista; }