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;
 }
Example #3
0
        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;
        }
Example #4
0
 public bool TieneFalloRequisicion(Requisicion requisicion)
 {
     bool result = false;
     var fallos = FalloDao.ConsultarFalloByAnexo(requisicion.Anexo);
     result = fallos.Count > 0;
     return result;
 }
Example #5
0
        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();
                }
            }
        }