private bool ValidarDatos() { if (txtDescripcion.Text.ToUpper().Trim().Equals(string.Empty)) { MessageBox.Show("Complete la descripción", "Aviso"); return(false); } if (txtDescripcion.Text.ToUpper().Trim().Equals("CORTESIA")) { MessageBox.Show("El nombre no puede ser CORTESIA", "Aviso"); return(false); } listaPromocionZona = new List <PromocionZona>(); listaPromocionFuncion = new List <PromocionFuncion>(); foreach (DataGridViewRow dtr in dgvZonas.Rows) { if (Convert.ToBoolean(dtr.Cells["Sel"].Value) == true) { if (Convert.ToString(dtr.Cells["Precio"].Value).Equals(String.Empty)) { MessageBox.Show("Debe ingresar todos los precios", "Aviso"); return(false); } else { PromocionZona pZona = new PromocionZona(); pZona.Zona = dtr.DataBoundItem as Zona; pZona.Precio = Convert.ToSingle(dtr.Cells["Precio"].Value); listaPromocionZona.Add(pZona); } } } if (listaPromocionZona.Count < 1) { MessageBox.Show("Debe seleccionar al menos una zona", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } foreach (DataGridViewRow dtr in dgvFunciones.Rows) { if (Convert.ToBoolean(dtr.Cells["SelF"].Value) == true) { PromocionFuncion pFuncion = new PromocionFuncion(); pFuncion.Funcion = dtr.DataBoundItem as Funcion; listaPromocionFuncion.Add(pFuncion); } } if (listaPromocionFuncion.Count < 1) { MessageBox.Show("Debe seleccionar al menos una función", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } return(true); }
private void LoadData() { dgvZonas.AutoGenerateColumns = false; dgvFunciones.AutoGenerateColumns = false; txtObra.Text = promocion.PromocionZonas[0].Zona.Obra.Nombre; txtDescripcion.Text = promocion.Descripcion; listTipoPromocion = servicio.GetListaTipoPromocion(); cboTipoPromocion.DataSource = listTipoPromocion; cboTipoPromocion.DisplayMember = "Descripcion"; cboTipoPromocion.SelectedItem = listTipoPromocion.Where(tx => tx.IdTipoPromocion == promocion.TipoPromocion.IdTipoPromocion).FirstOrDefault(); cboEstado.SelectedIndex = promocion.Estado == "Activo" ? 0 : 1; dtpFechaInicio.Value = promocion.FechaInicio; dtpFechaFin.Value = promocion.FechaFin; chkRequiereEmpresa.Checked = promocion.RequiereEmpresa; listZona = servicio.ListZonaByObra(promocion.PromocionZonas[0].Zona.Obra.IdObra); listFuncion = servicio.ListarFuncionByObraGrilla(promocion.PromocionZonas[0].Zona.Obra.IdObra); dgvFunciones.DataSource = listFuncion; dgvZonas.DataSource = listZona; foreach (DataGridViewRow row in dgvZonas.Rows) { Zona zona = row.DataBoundItem as Zona; PromocionZona prZona = promocion.PromocionZonas.Where(tx => tx.Zona.IdZona == zona.IdZona).FirstOrDefault(); if (prZona != null) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells["Sel"]; chk.Value = true; row.Cells["Precio"].Value = prZona.Precio; } } foreach (DataGridViewRow row in dgvFunciones.Rows) { Funcion funcion = row.DataBoundItem as Funcion; PromocionFuncion prFuncion = promocion.PromocionFunciones.Where(tx => tx.Funcion.IdFuncion == funcion.IdFuncion).FirstOrDefault(); if (prFuncion != null) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells["SelF"]; chk.Value = true; } } }
private void btnCrear_Click(object sender, EventArgs e) { if (ValidarCampos()) { List <PromocionZona> listaPromocionZona = new List <PromocionZona>(); bool isValid = true; foreach (DataGridViewRow dtr in dgvZonas.Rows) { if (Convert.ToBoolean(dtr.Cells["Sel"].Value) == true) { if (Convert.ToString(dtr.Cells["Precio"].Value).Equals(String.Empty)) { isValid = false; break; } else { PromocionZona pZona = new PromocionZona(); pZona.Zona = dtr.DataBoundItem as Zona; pZona.Precio = Convert.ToSingle(dtr.Cells["Precio"].Value); listaPromocionZona.Add(pZona); } } } if (!isValid) { MessageBox.Show("Debe ingresar el precio", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (listaPromocionZona.Count < 1) { MessageBox.Show("Debe seleccionar al menos una zona", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } List <PromocionFuncion> listaPromocionFuncion = new List <PromocionFuncion>(); foreach (DataGridViewRow dtr in dgvFunciones.Rows) { if (Convert.ToBoolean(dtr.Cells["SelF"].Value) == true) { PromocionFuncion pFuncion = new PromocionFuncion(); pFuncion.Funcion = dtr.DataBoundItem as Funcion; listaPromocionFuncion.Add(pFuncion); } } if (listaPromocionFuncion.Count < 1) { MessageBox.Show("Debe seleccionar al menos una función", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } Promocion promocion = new Promocion() { Descripcion = txtDescripcion.Text.ToUpper().Trim(), FechaFin = dtpFechaFin.Value.Date, FechaInicio = dtpFechaInicio.Value.Date, TipoPromocion = cboTipoPromocion.SelectedItem as TipoPromocion, RequiereEmpresa = chkRequiereEmpresa.Checked, PromocionFunciones = listaPromocionFuncion, PromocionZonas = listaPromocionZona }; try { if (servicio.InsertPromocion(promocion)) { MessageBox.Show("Proceso realizado correctamente", "Aviso"); this.Close(); } else { MessageBox.Show("Ha ocurrido un error", "Aviso"); } } catch (Exception ex) { MessageBox.Show("Ocurrió un error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Complete todos los campos", "Aviso"); } }
public List <Promocion> ListPromocionByObra(int idObra) { OleDbCommand cmd2 = new OleDbCommand(); OleDbCommand cmd3 = new OleDbCommand(); string sql = "SELECT * FROM TH_PROMOCION P INNER JOIN TH_TIPO_PROMOCION TP ON TP.IDTIPOPROMOCION = P.IDTIPOPROMOCION WHERE IDPROMOCION IN (SELECT PZ.IDPROMOCION FROM TH_PROMOCION_ZONA PZ INNER JOIN TH_ZONA Z ON Z.IDZONA = PZ.IDZONA WHERE Z.IDOBRA = @idObra)"; OleDbParameter pIdObra = UtilDA.SetParameters("@idObra", OleDbType.Integer, idObra); Promocion promocion = null; PromocionZona promocionZona = null; PromocionFuncion promocionFuncion = null; List <Promocion> ListaPromocion = new List <Promocion>(); List <PromocionZona> listaZona = null; List <PromocionFuncion> listaFuncion = null; using (var dtr = UtilDA.ExecuteReader(cmd, CommandType.Text, sql, cnx, pIdObra)) { while (dtr.Read()) { promocion = new Promocion() { IdPromocion = DataConvert.ToInt(dtr["IdPromocion"]), Descripcion = DataConvert.ToString(dtr["P.Descripcion"]), Estado = DataConvert.ToString(dtr["P.Estado"]), FechaInicio = DataConvert.ToDateTime(dtr["FechaInicio"]), FechaFin = DataConvert.ToDateTime(dtr["FechaFin"]), FechaCreacion = DataConvert.ToDateTime(dtr["P.FechaCrea"]), UsuarioCreacion = DataConvert.ToString(dtr["P.UserCrea"]), RequiereEmpresa = DataConvert.ToBool(dtr["RequiereEmpresa"]), TipoPromocion = new TipoPromocion() { IdTipoPromocion = DataConvert.ToInt(dtr["TP.IdTipoPromocion"]), Descripcion = DataConvert.ToString(dtr["TP.Descripcion"]), Estado = DataConvert.ToString(dtr["TP.FechaCrea"]), UsuarioCreacion = DataConvert.ToString(dtr["TP.UserCrea"]) } }; listaZona = new List <PromocionZona>(); string SQLZONA = "SELECT PZ.PRECIO,Z.IDZONA,Z.NOMBRE,Z.DESCRIPCION,Z.ESTADO,O.IdObra,O.Nombre FROM (TH_PROMOCION_ZONA PZ INNER JOIN TH_ZONA Z ON Z.IDZONA = PZ.IDZONA) INNER JOIN TH_OBRA O ON O.IDOBRA = Z.IDOBRA WHERE PZ.idpromocion = @idPromocion"; OleDbParameter pIdPromocion = UtilDA.SetParameters("@idPromocion", OleDbType.Integer, promocion.IdPromocion); using (var subdtr = UtilDA.ExecuteSubReader(cmd2, CommandType.Text, SQLZONA, cnx, pIdPromocion)) { while (subdtr.Read()) { promocionZona = new PromocionZona() { Promocion = promocion, Precio = DataConvert.ToSingle(subdtr["Precio"]), Zona = new Zona() { IdZona = DataConvert.ToInt(subdtr["IdZona"]), Nombre = DataConvert.ToString(subdtr["Z.Nombre"]), Descripcion = DataConvert.ToString(subdtr["Descripcion"]), Estado = DataConvert.ToString(subdtr["Estado"]), Obra = new Obra() { IdObra = DataConvert.ToInt(subdtr["IdObra"]), Nombre = DataConvert.ToString(subdtr["O.Nombre"]) } } }; listaZona.Add(promocionZona); } } listaFuncion = new List <PromocionFuncion>(); string SQLFUNCION = "SELECT * FROM TH_PROMOCION_FUNCION PF INNER JOIN TH_FUNCION P ON P.IDFUNCION = PF.IDFUNCION WHERE PF.IDPROMOCION = @idPromocion"; OleDbParameter pIdPromocionFuncion = UtilDA.SetParameters("@idPromocion", OleDbType.Integer, promocion.IdPromocion); using (var subdtr2 = UtilDA.ExecuteSubReader(cmd3, CommandType.Text, SQLFUNCION, cnx, pIdPromocionFuncion)) { while (subdtr2.Read()) { promocionFuncion = new PromocionFuncion() { Promocion = promocion, Funcion = new Funcion() { IdFuncion = DataConvert.ToInt(subdtr2["P.IdFuncion"]), Dia = DataConvert.ToInt(subdtr2["Dia"]), Horario = DataConvert.ToString(subdtr2["Horario"]), Estado = DataConvert.ToString(subdtr2["Estado"]) } }; listaFuncion.Add(promocionFuncion); } } promocion.PromocionFunciones = listaFuncion; promocion.PromocionZonas = listaZona; ListaPromocion.Add(promocion); } } UtilDA.Close(cnx); return(ListaPromocion); }