protected void grid_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { int id = Utilerias.StrToInt(grid.DataKeys[e.Row.RowIndex].Values["Id"].ToString()); ImageButton imgBut = (ImageButton)e.Row.FindControl("imgVer"); if (imgBut != null) { imgBut.Attributes["onclick"] = "fnc_AbrirReporte(" + id + ");return false;"; } LinkButton linkPrecios = (LinkButton)e.Row.FindControl("linkPrecios"); FacturasAlmacen factura = uow.FacturasAlmacenBL.GetByID(id); if (factura.Status > 1) { linkPrecios.Enabled = false; linkPrecios.Text = " "; } } }
protected void linTerminar_Click(object sender, EventArgs e) { int idFactura = int.Parse(Session["XFacturaId"].ToString()); FacturasAlmacen factura = uow.FacturasAlmacenBL.GetByID(idFactura); factura.Status = 2; uow.FacturasAlmacenBL.Update(factura); uow.SaveChanges(); Response.Redirect("wfFacturas.aspx"); }
protected void btnGuardarFactura_Click(object sender, EventArgs e) { List <FacturasAlmacenArticulosTMP> lista; int idPedido = int.Parse(_idPedido.Value); lista = uow.FacturasAlmacenArticulosTMPBL.Get(p => p.PedidoId == idPedido && p.Precio == 0 && p.Cantidad > 0).ToList(); if (lista.Count > 0) { lblMensajes.Text = "Para poder registrar la factura, es necesario registrar todos los productos"; divMsg.Style.Add("display", "block"); return; } if (txtFolio.Value == string.Empty) { // lblMensajes.Text = "No ha capturado el NĂºmero de Factura, capture ese dato para poder registrar la entrada"; // divMsg.Style.Add("display", "block"); return; } if (dtpFecha.Value.ToString() == string.Empty) { //lblMensajes.Text = "No ha indicado la fecha de la Factura, capture ese dato para poder registrar la entrada"; //divMsg.Style.Add("display", "block"); return; } lista = uow.FacturasAlmacenArticulosTMPBL.Get(p => p.PedidoId == idPedido && p.Precio > 0 && p.Cantidad > 0).ToList(); Pedidos pedido = uow.PedidosBL.GetByID(idPedido); FacturasAlmacen factura = new FacturasAlmacen(); factura.Ejercicio = DateTime.Now.Year; factura.FolioFactura = txtFolio.Value; factura.FechaFactura = DateTime.Parse(dtpFecha.Value); factura.ImporteFactura = lista.Sum(p => p.Total); factura.Observaciones = ""; factura.Status = 1; factura.Tipo = 1; factura.PedidoId = pedido.Id; factura.ProveedorId = pedido.ProveedorId; uow.FacturasAlmacenBL.Insert(factura); List <ArticulosMovimientos> listaBitacora = uow.ArticulosMovimientosBL.Get().ToList(); int movimiento; if (listaBitacora.Count == 0) { movimiento = 0; } else { movimiento = listaBitacora.Max(p => p.Movimiento); } movimiento++; ArticulosMovimientos bitacora = new ArticulosMovimientos(); bitacora.Ejercicio = DateTime.Now.Year; bitacora.Movimiento = movimiento; bitacora.Tipo = 1; bitacora.Fecha = DateTime.Now; bitacora.Status = 1; bitacora.FacturaAlmacen = factura; uow.ArticulosMovimientosBL.Insert(bitacora); foreach (FacturasAlmacenArticulosTMP item in lista) { FacturasAlmacenArticulos detalle = new FacturasAlmacenArticulos(); detalle.FacturaAlmacen = factura; detalle.ArticuloId = item.ArticuloId; detalle.Cantidad = item.Cantidad; detalle.Adicional = item.CantidadExtra; detalle.Precio = item.Precio; detalle.PrecioIVA = item.PrecioIVA; detalle.Subtotal = item.Subtotal; detalle.IVA = item.IVA; detalle.Total = item.Total; detalle.PrecioDeCompraAnterior = item.Articulo.PrecioCompraIVA; detalle.PrecioVenta = item.Articulo.PrecioVentaIVA; detalle.Diferencia = item.PrecioIVA - item.Articulo.PrecioCompraIVA; detalle.Status = 1; detalle.StatusNombre = "Pendiente"; uow.FacturasAlmacenArticulosBL.Insert(detalle); ArticulosMovimientosEntradas bitDetalle = new ArticulosMovimientosEntradas(); bitDetalle.ArticuloMovimiento = bitacora; bitDetalle.ArticuloId = item.ArticuloId; bitDetalle.Cantidad = item.Cantidad + item.CantidadExtra; bitDetalle.Importe = item.PrecioIVA; uow.ArticulosMovimientosEntradasBL.Insert(bitDetalle); Articulos articulo = uow.ArticulosBL.GetByID(item.ArticuloId); articulo.CantidadDisponible = articulo.CantidadDisponible + (item.Cantidad + item.CantidadExtra); articulo.CantidadEnAlmacen = articulo.CantidadEnAlmacen + (item.Cantidad + item.CantidadExtra); articulo.PrecioCompra = item.Precio; articulo.PrecioCompraIVA = item.PrecioIVA; uow.ArticulosBL.Update(articulo); } pedido.Status = 2; uow.PedidosBL.Update(pedido); uow.SaveChanges(); Response.Redirect("wfFacturas.aspx"); }