Пример #1
0
 public FrmModuloCotizacion(Cotizacion cotizacion, FrmAdquisiciones padre)
     : this(padre)
 {
     CotizacionActual = cotizacion;
     AnexoActual = cotizacion.Anexo;
     ProveedorActual = cotizacion.Proveedor;
     Consultar();
 }
Пример #2
0
        public void ConsultarCotizacion(ref Cotizacion cotizacion)
        {
            var cargaCotizacion = CotizacionDao.CargarCotizacionEager
                (cotizacion.Proveedor, cotizacion.Anexo,
                cotizacion.Almacen);

            if (cargaCotizacion != null)
                cotizacion = cargaCotizacion;
            else
                cotizacion.IdCotizacion = CotizacionDao.MaximoId(cotizacion.Almacen);

            //Traemos los anexosdetalle
            cotizacion.Anexo.AnexoDetalle = AnexoDao.CargarAnexoDetalle(cotizacion.Anexo);

            int indexCotizacion = 0;

            //Caragamos todos los anexos en la lista cotizacion detalle
            foreach (var anexoDetalle in cotizacion.Anexo.AnexoDetalle)
            {
                int existeCotizacionDetalle =
                    cotizacion.CotizacionDetalle.Count(p => p.RenglonAnexo ==
                        anexoDetalle.RenglonAnexo);

                CotizacionDetalle cotizacionDetalle;

                //No Existe la CotizacionDetalle en el AnexoDetalle
                if (existeCotizacionDetalle == 0)
                {
                    cotizacionDetalle = new CotizacionDetalle();
                    cotizacionDetalle.Cotizacion = cotizacion;
                    //cotizacionDetalle.RenglonAnexo = anexoDetalle.RenglonAnexo;
                    cotizacionDetalle.Articulo = anexoDetalle.Articulo;
                }
                else
                {
                    cotizacionDetalle = cotizacion.CotizacionDetalle[indexCotizacion++];
                }

                //Pintamos las propiedades de despliegue
                cotizacionDetalle.CantidadMinimo = anexoDetalle.CantidadMinimo;
                cotizacionDetalle.CantidadMaximo = anexoDetalle.CantidadMaximo;
                cotizacionDetalle.RenglonAnexo = anexoDetalle.RenglonAnexo;
                cotizacionDetalle.CveArt = anexoDetalle.Articulo.Id.CveArt;
                cotizacionDetalle.DescripcionArt = anexoDetalle.Articulo.DesArticulo;
                cotizacionDetalle.UnidadArt = anexoDetalle.Articulo.Presentacion;

                if (existeCotizacionDetalle == 0)
                    cotizacion.CotizacionDetalle.Add(cotizacionDetalle);
            }

            //Ordenamos la lista por renglon
            cotizacion.CotizacionDetalle =
                cotizacion.CotizacionDetalle.OrderBy(f => f.RenglonAnexo).ToList();
        }
Пример #3
0
        private void Nuevo()
        {
            nudFecha.Value = CotizacionService.CotizacionDao.FechaServidor().Year;
            CotizacionActual = new Cotizacion();
            AnexoActual = new Anexo();
            ProveedorActual = new Proveedor();

            cbxLicitacion.DataSource = null;
            bsCotizacionDetalle.DataSource = new List<CotizacionDetalle>();
            listaError.Items.Clear();
            lblNumErrors.Text = string.Empty;

            txtInstituto.Text = string.Empty;
            txtDeslicitacion.Text = string.Empty;
            txtProveedor.Text = string.Empty;
            txtDesproveedor.Text = string.Empty;
            txtDeslicitacion.Text = string.Empty;
            dtpFechacotizacion.Value = DateTime.Now;

            gpbDatosCotizacion.Enabled = true;
            btnGuardar.Enabled = false;
        }
Пример #4
0
 private void BtnConsultarClick(object sender, EventArgs e)
 {
     try
     {
         CotizacionActual = new Cotizacion();
         this.BindearPadre();
         CotizacionService.ConsultaCotizacion(ref CotizacionActual);
         bsCotizacionDetalle.DataSource = CotizacionActual.CotizacionDetalle;
         gpbDatosCotizacion.Enabled = false;
         btnGuardar.Enabled = true;
     }
     catch (Exception ee)
     {
         MessageBox.Show(@"Rellene los campos para la consulta");
     }
 }
Пример #5
0
        public override void Nuevo()
        {
            CotizacionActual = new Cotizacion();

            //No capturen nuevamente anexo y proveedor
            CotizacionActual.Anexo = AnexoActual;
            CotizacionActual.Proveedor = ProveedorActual;
            CotizacionActual.FechaCotizacion = CotizacionService.CotizacionDao.FechaServidor();
            lblFecha.Text = String.Format("{0:dd/MM/yyyy}", CotizacionActual.FechaCotizacion);

            BindearCampos();

            bsCotizacionDetalle.DataSource = new List<CotizacionDetalle>();
            LimpiarErrores();
            gcDatosGenerales.Enabled = true;
            cmdGuardar.Enabled = true;
        }
Пример #6
0
        private void ReporteCotizacion(Cotizacion cotizacion)
        {
            CotizacionService.ConsultarCotizacion(ref cotizacion);

            var cotizacionDs = new CotizacionDS();

            DataRow filaMain = cotizacionDs.Tables["Cotizacion"].NewRow();
            filaMain["Id"] = cotizacion.IdCotizacion;
            filaMain["Fecha"] = String.Format("{0:dd/MM/yyyy}", cotizacion.FechaCotizacion);
            filaMain["Anexo"] = cotizacion.Anexo;
            filaMain["Proveedor"] = cotizacion.Proveedor;
            cotizacionDs.Tables["Cotizacion"].Rows.Add(filaMain);
            cotizacionDs.Tables["Cotizacion"].AcceptChanges();

            foreach (CotizacionDetalle detalle in cotizacion.CotizacionDetalle)
            {
                if (detalle.Precio != null)
                {
                    DataRow filaDetalle = cotizacionDs.Tables["CotizacionDetalle"].NewRow();
                    filaDetalle["Id"] = cotizacion.IdCotizacion;
                    filaDetalle["Renglon"] = detalle.RenglonAnexo;
                    filaDetalle["Articulo"] = detalle.Articulo.Id.CveArt;
                    filaDetalle["Descripcion"] = detalle.Articulo.DesArticulo;
                    filaDetalle["Unidad"] = detalle.Articulo.Unidad;
                    filaDetalle["Marca"] = detalle.Marca;
                    filaDetalle["Unidad"] = detalle.Articulo.Unidad;
                    filaDetalle["CantidadMinimo"] = detalle.CantidadMinimo??0;
                    filaDetalle["CantidadMaximo"] = detalle.CantidadMaximo;
                    filaDetalle["Precio"] = detalle.Precio;
                    filaDetalle["Observaciones"] = detalle.Observaciones;
                    cotizacionDs.Tables["CotizacionDetalle"].Rows.Add(filaDetalle);
                }
            }

            cotizacionDs.Tables["Cotizacion"].AcceptChanges();

            if (cotizacion.Anexo.TipoContrato == Contrato.ABIERTO)
            {
                ReporteCotizacionAbierto1.SetDataSource(cotizacionDs);
                crystalReportViewer.ReportSource = ReporteCotizacionAbierto1;
            }
            else if (cotizacion.Anexo.TipoContrato == Contrato.CERRADO)
            {
                ReporteCotizacionCerrado1.SetDataSource(cotizacionDs);
                crystalReportViewer.ReportSource = ReporteCotizacionCerrado1;
            }

            crystalReportViewer.Refresh();

            Text = @"ReporteCotizacion";
        }
Пример #7
0
        public void GuardarCotizacion(ref Cotizacion cotizacion)
        {
            if (cotizacion.IdCotizacion == 0)
            {
                cotizacion.FechaCaptura = CotizacionDao.FechaServidor();
            }

            cotizacion.FechaModificacion = CotizacionDao.FechaServidor();
            cotizacion.IpTerminal = Util.IpTerminal();

            //Removemos de la cotizacion detalle las que no tengan precio centinela
            cotizacion.CotizacionDetalle = cotizacion.CotizacionDetalle.
                Where(cotizacionDetalle => cotizacionDetalle.Precio != null).ToList();
            ++cotizacion.Modificacion;
            cotizacion = CotizacionDao.Merge(cotizacion);
        }