public FrmModuloCotizacion(Cotizacion cotizacion, FrmAdquisiciones padre) : this(padre) { CotizacionActual = cotizacion; AnexoActual = cotizacion.Anexo; ProveedorActual = cotizacion.Proveedor; Consultar(); }
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(); }
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; }
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"); } }
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; }
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"; }
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); }