public RequisicionDetall(RequisicionDetallId id, decimal? cantidad, Requisicion requisicion) { this._id= id; this._cantidad= cantidad; this._requisicion= requisicion; }
public RequisicionDetall(RequisicionDetallId id, Requisicion requisicion) { this._id= id; this._requisicion= requisicion; }
private decimal? ImporteTotal(Requisicion requisicion, IList<FalloDetalle> falloDetalles) { decimal? importe = new decimal(0.0); foreach(var falloDetalle in falloDetalles) { var requisicionDetalle = RequisicionDao. ObtenerRequisicionDetalleByArticulo(requisicion,falloDetalle.Articulo); if(requisicionDetalle != null) importe += requisicionDetalle.Cantidad * falloDetalle.PrecioFallo; } //importe -= (importe * (iva/100)); return importe; }
public bool TieneFalloRequisicion(Requisicion requisicion) { bool result = false; var fallos = FalloDao.ConsultarFalloByAnexo(requisicion.Anexo); result = fallos.Count > 0; return result; }
public void GenerarPedidoAutomatico(Pedido pedidoCentinela, Requisicion requisicion, DateTime fechaInicial, DateTime fechaFinal) { var fallos = FalloDao.ConsultarFalloByAnexo(requisicion.Anexo); foreach (var fallo in fallos) { var pedido = new Pedido(); pedido.Almacen = pedidoCentinela.Almacen; pedido.Usuario = pedidoCentinela.Usuario; pedido.IpTerminal = Util.IpTerminal(); pedido.FechaCaptura = PedidoDao.FechaServidor(); pedido.FechaModificacion = PedidoDao.FechaServidor(); pedido.FechaPedido = pedidoCentinela.FechaPedido; pedido.Fundamento = pedidoCentinela.Fundamento; pedido.CatActividad = pedidoCentinela.CatActividad; pedido.Iva = pedidoCentinela.Iva; pedido.CatPresupuesto = pedidoCentinela.CatPresupuesto; pedido.Observaciones = pedidoCentinela.Observaciones; pedido.Modificacion = 1; pedido.Instituto = fallo.Anexo.Instituto; pedido.NumeroPedido = PedidoDao.SiguienteNumeroPedido(pedido.Almacen, 1); pedido.CatTipopedido = new CatTipopedido(1);//Pedido Mayor pedido.Proveedor = fallo.Cotizacion.Proveedor; pedido.Anexo = fallo.Anexo; pedido.CatArea = requisicion.CatArea; pedido.ImporteDescuento = new decimal(0.0); pedido.CatPresupuesto = pedido.CatPresupuesto; pedido.EstadoPedido = "P"; pedido.ImporteTotal = ImporteTotal(requisicion, fallo.FalloDetalle); pedido.Requisicion = requisicion; pedido = PedidoDao.Merge(pedido); short renglonPedido = 1; //int entrega = 1; var requisicionesDetalle = RequisicionDao.CargarRequisicionDetalle(requisicion); foreach (var requisicionDetalle in requisicionesDetalle) { fallo.FalloDetalle = FalloDao.ConsultarFalloDetalle(fallo); foreach (var falloDetalle in fallo.FalloDetalle) { if(requisicionDetalle.Articulo == falloDetalle.Articulo) { //Actualizamos la cantidad pedida fallo falloDetalle.CantidadPed += requisicionDetalle.Cantidad; FalloDetalleDao.Merge(falloDetalle); var pedidoDetalle = new PedidoDetalle(); pedidoDetalle.Pedido = pedido; pedidoDetalle.RenglonPedido = renglonPedido; pedidoDetalle.Articulo = falloDetalle.Articulo; pedidoDetalle.Cantidad = requisicionDetalle.Cantidad; pedidoDetalle.PrecioUnitario = falloDetalle.PrecioFallo; //pedidoDetalle.Marca = falloDetalle. var pedidoEntrega = new PedidoEntrega(); pedidoEntrega.Entrega = 1; pedidoEntrega.FechaInicial = fechaInicial; pedidoEntrega.FechaFinal = fechaFinal; pedidoEntrega.Cantidad = requisicionDetalle.Cantidad; pedidoEntrega.PedidoDetalle = pedidoDetalle; //++entrega; pedidoDetalle.PedidoEntrega.Add(pedidoEntrega); PedidoDetalleDao.Merge(pedidoDetalle); ++renglonPedido; } } } requisicion.Estatus = "P"; RequisicionDao.Merge(requisicion); } }
public RequisicionDetallId(Requisicion requisicion, short renglon) { this._requisicion= requisicion; this._renglon= renglon; }
private void SearchLookUpRequisicionEditValueChanged(object sender, EventArgs e) { if (searchLookUpRequisicion.EditValue != null) { var reqSeleccionada = searchLookUpEditRequisicion.GetFocusedRow() as Requisicion; if (PedidoService.PedidoDao.ExisteRequisicionPedido(reqSeleccionada)) { XtraMessageBox.Show(@"La requisicion ya tiene pedido automatico", @"Adquisiciones", MessageBoxButtons.OK, MessageBoxIcon.Information); LimpiarRequisicion(); return; } if (!PedidoService.TieneFalloRequisicion(reqSeleccionada)) { XtraMessageBox.Show(@"El anexo de la requisicion no tiene fallo", @"Adquisiciones", MessageBoxButtons.OK, MessageBoxIcon.Information); LimpiarRequisicion(); return; } RequisicionActual = reqSeleccionada; PedidoActual.Requisicion = RequisicionActual; if (reqSeleccionada != null) { lblArea.Text = reqSeleccionada.CatArea.ToString(); lblLicitacion.Text = reqSeleccionada.Anexo.ToString(); } } }