private void CargarDatosEditarArticulo() { btnAceptar.Visible = false; btnGuardarCambios.Visible = true; string InformacionDelError = string.Empty; ClsArticulos Articulos = new ClsArticulos(); Articulo ArticuloAEditar = new Articulo(); ArticuloAEditar = Articulos.LeerPorNumero(ID_Articulo, ref InformacionDelError); if (ArticuloAEditar != null) { txtNombreArticulo.Text = ArticuloAEditar.Nombre; txtDescripcion.Text = ArticuloAEditar.Descripcion; cmbCategoria.SelectedValue = ArticuloAEditar.ID_CategoriaArticulo; txtPrecio.Text = Convert.ToString(ArticuloAEditar.Precio); txtPrecioDelivery.Text = Convert.ToString(ArticuloAEditar.PrecioDelivery); } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Error al intentar cargar el articulo a editar", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
/// <summary>Actualiza el estado del articulo a activo/inactivo.</summary> /// <param name="_EstadoElemento">Enum que contrendra el numero del tipo de estado.</param> private void ActualizarEstadoArticulo(ClsEstadosArticulos.EEstadosArticulos _EstadoElemento) { ClsArticulos Articulo = new ClsArticulos(); Articulo ActualizarArticulo = new Articulo(); int TotalDeFilas = dgvEstadoArticulo.Rows.Count; for (int Indice = 0; Indice < TotalDeFilas; Indice++) { //Pregunto si la celda es diferente a null if (dgvEstadoArticulo.Rows[Indice].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvEstadoArticulo.Rows[Indice].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value) { string InformacionDelError = string.Empty; ActualizarArticulo = Articulo.LeerPorNumero((int)dgvEstadoArticulo.Rows[Indice].Cells[(int)ENumColDGVEstadoArticulo.ID_Articulo].Value, ref InformacionDelError); if (ActualizarArticulo != null) { ActualizarArticulo.ID_EstadoArticulo = (int)_EstadoElemento; if (ActualizarArticulo.CategoriaArticulo.ID_EstadoCategoriaArticulo != (int)ClsEstadosCategoriasArticulos.EEstadosCategoriasArticulos.inactivo) { if (Articulo.Actualizar(ActualizarArticulo, ref InformacionDelError) != 0) { dgvEstadoArticulo.Rows.Remove(dgvEstadoArticulo.Rows[Indice]); Indice -= 1; TotalDeFilas -= 1; UltimaFilaSeleccionada = -1; } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El articulo '{ActualizarArticulo.Nombre}' (categoria '{ActualizarArticulo.CategoriaArticulo.Nombre}') " + $"no se puede activar debido a que su categoria fue eliminada.", ClsColores.Blanco, 150, 350)) { FormInformacion.ShowDialog(); } } } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Error al intentar actualizar el articulo", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } }
/// <summary> /// Verifica que el nombre del articulo no este en uso, devuelve true si encontro una coincidencia. /// </summary> /// <param name="_Nombre">Articulo que se va a buscar.</param> /// <param name="_ID_ArticuloActual">ID que se usa para ignorar el articulo que se esta editando.</param> /// <returns></returns> private bool VerificarArticuloRepetido(string _Nombre, int _ID_ArticuloActual) { string InformacionDelError = string.Empty; ClsArticulos Articulos = new ClsArticulos(); List <Articulo> BuscarDatosRepetidos = Articulos.LeerListado(ClsArticulos.ETipoListado.AritulosRepetidos, ref InformacionDelError, ClsArticulos.ETipoListado.AritulosRepetidos, "", 0, _Nombre, _ID_ArticuloActual); if (BuscarDatosRepetidos != null) { if (BuscarDatosRepetidos.Count > 0) { return(true); } } else if (InformacionDelError == string.Empty) { MessageBox.Show($"Fallo al verificar si el articulo estaba repetido", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(true); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(true); } return(false); }
private void DgvCarta_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridView DetectarTipoCasilla = (DataGridView)sender; if (e.RowIndex != -1 && !(DetectarTipoCasilla.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn)) { using (FrmArticulo FormModificaArticulo = new FrmArticulo((int)dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.ID_Articulo].Value)) { FormModificaArticulo.ShowDialog(); if (FormModificaArticulo.DialogResult == DialogResult.OK) { string InformacionDelError = string.Empty; ClsArticulos Articulos = new ClsArticulos(); Articulo ActualizarArticulo = new Articulo(); ActualizarArticulo = Articulos.LeerPorNumero((int)dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.ID_Articulo].Value, ref InformacionDelError); if (ActualizarArticulo != null) { dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.ID_Articulo].Value = ActualizarArticulo.ID_Articulo; dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.Nombre].Value = ActualizarArticulo.Nombre; dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.Descripcion].Value = ActualizarArticulo.Descripcion; dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.Categoria].Value = ActualizarArticulo.CategoriaArticulo.Nombre; if (ActualizarArticulo.Precio == null) { dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = "NO TIENE"; } else { dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = ActualizarArticulo.Precio; } if (ActualizarArticulo.PrecioDelivery == null) { dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = "NO TIENE"; } else { dgvCarta.Rows[e.RowIndex].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = ActualizarArticulo.PrecioDelivery; } dgvCarta.Sort(dgvCarta.Columns[(int)ENumColDGVCarta.Categoria], ListSortDirection.Ascending); FrmPrincipal.ObtenerInstancia().S_tslResultadoOperacion = "Articulo actualizado correctamente"; } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } }
/// <summary> /// Busca que por lo menos haya un articulo en cocina para el envio. /// </summary> /// <returns></returns> private bool VerificarSiHayEnCocina() { string InformacionDelError = string.Empty; ClsArticulos Articulos = new ClsArticulos(); Articulo ArticuloParaCocina = new Articulo(); foreach (int Elemento in ID_Articulos) { ArticuloParaCocina = Articulos.LeerPorNumero(Elemento, ref InformacionDelError); if (ArticuloParaCocina != null) { if (ArticuloParaCocina.CategoriaArticulo.ParaCocina == (int)ClsCategoriasArticulos.EParaCocina.Si) { return(true); } } } return(false); }
/// <summary>Carga los articulos activos/inactivos.</summary> private void CargarDGVArticulos(ClsArticulos.ETipoListado _TipoDeEstado) { if (FormularioCargado) { dgvEstadoArticulo.Rows.Clear(); string NombreArticulo = string.Empty; int ID_CategoriaFiltro = 0; if (cmbCategoria.SelectedValue != null) { CategoriaArticulo CategoriaSeleccionada = (CategoriaArticulo)cmbCategoria.SelectedItem; ID_CategoriaFiltro = CategoriaSeleccionada.ID_CategoriaArticulo; } if (txtBuscarPorNombre.Text != TEXTO_VISUAL_COMBOBOX) { NombreArticulo = txtBuscarPorNombre.Text; } string InformacionDelError = string.Empty; ClsArticulos Articulos = new ClsArticulos(); List <Articulo> ListarArticulosActivos = Articulos.LeerListado(ClsArticulos.ETipoListado.Filtro, ref InformacionDelError, _TipoDeEstado, NombreArticulo, ID_CategoriaFiltro); if (ListarArticulosActivos != null) { foreach (Articulo Elemento in ListarArticulosActivos) { int NumeroDeFila = dgvEstadoArticulo.Rows.Add(); dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.ID_Articulo].Value = Elemento.ID_Articulo; dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Nombre].Value = Elemento.Nombre; dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Descripcion].Value = Elemento.Descripcion; dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Categoria].Value = Elemento.CategoriaArticulo.Nombre; if (Elemento.Precio == null) { dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioCarta].Value = "NO TIENE"; } else { dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioCarta].Value = Elemento.Precio; } if (Elemento.PrecioDelivery == null) { dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioDelivery].Value = "NO TIENE"; } else { dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.PrecioDelivery].Value = Elemento.PrecioDelivery; } if (ArticulosDeCartaMarcados.Count > 0) { foreach (int ElementoSecundario in ArticulosDeCartaMarcados) { if (ElementoSecundario == Elemento.ID_Articulo) { dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value = true; ClsColores.MarcarFilaDGV(dgvEstadoArticulo, NumeroDeFila, true); break; } else { dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value = false; ClsColores.MarcarFilaDGV(dgvEstadoArticulo, NumeroDeFila, false); } } } else { dgvEstadoArticulo.Rows[NumeroDeFila].Cells[(int)ENumColDGVEstadoArticulo.Seleccionar].Value = false; ClsColores.MarcarFilaDGV(dgvEstadoArticulo, NumeroDeFila, false); } } UltimaFilaSeleccionada = -1; dgvEstadoArticulo.Sort(dgvEstadoArticulo.Columns[(int)ENumColDGVEstadoArticulo.Categoria], ListSortDirection.Ascending); dgvEstadoCategoria.ClearSelection(); } else if (InformacionDelError == string.Empty) { MessageBox.Show("Fallo al cargar los articulos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
/// <summary>Carga la carta con todos los articulos activos (incluyendo a los que su categoria fue eliminada)</summary> private void CargarDGVCarta(ClsArticulos.ETipoListado _TipoDeListado) { if (FormularioCargado) { string NombreArticulo = string.Empty; int ID_CategoriaFiltro = 0; if (cmbCategoria.SelectedValue != null) { CategoriaArticulo CategoriaSeleccionada = (CategoriaArticulo)cmbCategoria.SelectedItem; ID_CategoriaFiltro = CategoriaSeleccionada.ID_CategoriaArticulo; } if (txtBuscarPorNombre.Text != TEXTO_VISUAL_BUSCAR) { NombreArticulo = txtBuscarPorNombre.Text; } dgvCarta.Rows.Clear(); string InformacionDelError = string.Empty; ClsArticulos Articulos = new ClsArticulos(); List <Articulo> ListarArticulosActivos = Articulos.LeerListado(_TipoDeListado, ref InformacionDelError, ClsArticulos.ETipoListado.ArticulosActivos, NombreArticulo, ID_CategoriaFiltro); if (ListarArticulosActivos != null) { foreach (Articulo Elemento in ListarArticulosActivos) { int NumeroDeFila = dgvCarta.Rows.Add(); dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.ID_Articulo].Value = Elemento.ID_Articulo; dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Nombre].Value = Elemento.Nombre; dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Descripcion].Value = Elemento.Descripcion; dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Categoria].Value = Elemento.CategoriaArticulo.Nombre; if (Elemento.Precio == null) { dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = "NO TIENE"; } else { dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = Elemento.Precio; } if (Elemento.PrecioDelivery == null) { dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = "NO TIENE"; } else { dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = Elemento.PrecioDelivery; } if (ArticulosDeCartaMarcados.Count > 0) { foreach (int ElementoSecundario in ArticulosDeCartaMarcados) { if (ElementoSecundario == Elemento.ID_Articulo) { dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Seleccionar].Value = true; ClsColores.MarcarFilaDGV(dgvCarta, NumeroDeFila, true); break; } else { dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Seleccionar].Value = false; ClsColores.MarcarFilaDGV(dgvCarta, NumeroDeFila, false); } } } else { dgvCarta.Rows[NumeroDeFila].Cells[(int)ENumColDGVCarta.Seleccionar].Value = false; ClsColores.MarcarFilaDGV(dgvCarta, NumeroDeFila, false); } } } else if (InformacionDelError == string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al cargar los articulos"); MessageBox.Show($"Ocurrio un fallo al intentar cargar los articulos de la carta", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Fallo al cargar los articulos"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } dgvCarta.ClearSelection(); }
private void BtnAplicarAumentoDescuento_Click(object sender, EventArgs e) { if (txtCantidad.Text == string.Empty) { txtCantidad.Text = "0"; } CargarDGVCarta(ClsArticulos.ETipoListado.ArticulosActivos); ClsArticulos Articulos = new ClsArticulos(); Articulo ActualizarPrecio = new Articulo(); // Entrar solo si al menos el usuario marco un check para aplicarle aumento if (chkAplicarADelivery.Checked || chkAplicarACarta.Checked) { // TODO - Realizar un aumento/descuento a los articulos seleccionados en funcion del porcentaje y el RBN seleccioando for (int Indice = 0; Indice < dgvCarta.Rows.Count; Indice++) { //Pregunto si la celda es diferente a null if (dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Seleccionar].Value != null) { //Casteo el check del objeto a booleano y pregunto si es true if ((bool)dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Seleccionar].Value) { string InformacionDelError = string.Empty; ActualizarPrecio = Articulos.LeerPorNumero((int)dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.ID_Articulo].Value, ref InformacionDelError); if (rbnAumento.Checked) { if (chkAplicarADelivery.Checked && !chkAplicarACarta.Checked) { if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery += ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery += Convert.ToInt32(txtCantidad.Text); } } } else if (!chkAplicarADelivery.Checked && chkAplicarACarta.Checked) { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio += ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio += Convert.ToInt32(txtCantidad.Text); } } } else { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio += ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio += Convert.ToInt32(txtCantidad.Text); } } if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery += ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery += Convert.ToInt32(txtCantidad.Text); } } } } else { if (chkAplicarADelivery.Checked && !chkAplicarACarta.Checked) { if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery -= ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery -= Convert.ToInt32(txtCantidad.Text); } } } else if (!chkAplicarADelivery.Checked && chkAplicarACarta.Checked) { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio -= ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio -= Convert.ToInt32(txtCantidad.Text); } } } else { if (ActualizarPrecio.Precio != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.Precio -= ActualizarPrecio.Precio * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.Precio -= Convert.ToInt32(txtCantidad.Text); } } if (ActualizarPrecio.PrecioDelivery != null) { if (RbnPorcentaje.Checked) { ActualizarPrecio.PrecioDelivery -= ActualizarPrecio.PrecioDelivery * (int)nudPorcentaje.Value / 100; } else { ActualizarPrecio.PrecioDelivery -= Convert.ToInt32(txtCantidad.Text); } } } } if (chkAplicarADelivery.Checked && !chkAplicarACarta.Checked && chkRedondearPrecio.Checked) { if (ActualizarPrecio.PrecioDelivery != null) { ActualizarPrecio.PrecioDelivery = Math.Floor((double)ActualizarPrecio.PrecioDelivery); if (ActualizarPrecio.PrecioDelivery % 5 != 0) { ActualizarPrecio.PrecioDelivery = ActualizarPrecio.PrecioDelivery + (5 - (ActualizarPrecio.PrecioDelivery % 5)); } } } else if (!chkAplicarADelivery.Checked && chkAplicarACarta.Checked && chkRedondearPrecio.Checked) { if (ActualizarPrecio.Precio != null) { ActualizarPrecio.Precio = Math.Floor((double)ActualizarPrecio.Precio); if (ActualizarPrecio.Precio % 5 != 0) { ActualizarPrecio.Precio = ActualizarPrecio.Precio + (5 - (ActualizarPrecio.Precio % 5)); } } } else if (chkRedondearPrecio.Checked) { if (ActualizarPrecio.Precio != null) { ActualizarPrecio.Precio = Math.Floor((double)ActualizarPrecio.Precio); if (ActualizarPrecio.Precio % 5 != 0) { ActualizarPrecio.Precio = ActualizarPrecio.Precio + (5 - (ActualizarPrecio.Precio % 5)); } } if (ActualizarPrecio.PrecioDelivery != null) { ActualizarPrecio.PrecioDelivery = Math.Floor((double)ActualizarPrecio.PrecioDelivery); if (ActualizarPrecio.PrecioDelivery % 5 != 0) { ActualizarPrecio.PrecioDelivery = ActualizarPrecio.PrecioDelivery + (5 - (ActualizarPrecio.PrecioDelivery % 5)); } } } bool PrecioPermitido = false; bool PrecioMinimo = false; if (ActualizarPrecio.Precio == null) { PrecioPermitido = true; } else { if (ActualizarPrecio.Precio >= 10 && ActualizarPrecio.Precio <= 999999) { PrecioPermitido = true; } else if (ActualizarPrecio.Precio < 10) { PrecioPermitido = false; PrecioMinimo = true; } else { PrecioPermitido = false; } } if (ActualizarPrecio.PrecioDelivery == null) { PrecioPermitido = true; } else { if (ActualizarPrecio.PrecioDelivery >= 10 && ActualizarPrecio.PrecioDelivery <= 999999) { PrecioPermitido = true; } else if (ActualizarPrecio.PrecioDelivery < 10) { PrecioPermitido = false; PrecioMinimo = true; } else { PrecioPermitido = false; } } if (PrecioPermitido) { if (ActualizarPrecio.Precio != null) { ActualizarPrecio.Precio = Math.Round((double)ActualizarPrecio.Precio, 2); } if (ActualizarPrecio.PrecioDelivery != null) { ActualizarPrecio.PrecioDelivery = Math.Round((double)ActualizarPrecio.PrecioDelivery, 2); } if (Articulos.Actualizar(ActualizarPrecio, ref InformacionDelError) != 0) { if (ActualizarPrecio.Precio == null) { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = "NO TIENE"; } else { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioCarta].Value = ActualizarPrecio.Precio; } if (ActualizarPrecio.PrecioDelivery == null) { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = "NO TIENE"; } else { dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.PrecioDelivery].Value = ActualizarPrecio.PrecioDelivery; } } else if (InformacionDelError != string.Empty) { FrmPrincipal.ObtenerInstancia().MensajeAdvertencia("Error al intentar actualizar los precios"); MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else if (PrecioMinimo) { using (FrmInformacion FormInformacion = new FrmInformacion($"El articulo '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Nombre].Value.ToString()}' (categoria '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Categoria].Value.ToString()}') " + $"no se puede actualizar debido a que su precio seria inferior al minimo ($10 pesos).", ClsColores.Blanco, 350, 150)) { FormInformacion.ShowDialog(); } } else { using (FrmInformacion FormInformacion = new FrmInformacion($"El articulo '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Nombre].Value.ToString()}' (categoria '{dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Categoria].Value.ToString()}') " + $"no se puede actualizar debido a que su precio seria superior al maximo permitido (999999).", ClsColores.Blanco, 350, 150)) { FormInformacion.ShowDialog(); } } dgvCarta.Rows[Indice].Cells[(int)ENumColDGVCarta.Seleccionar].Value = false; } } } CambiarCheckboxSeleccion(false); } }
private void BtnGuardarCambios_Click(object sender, EventArgs e) { bool DatosValidos = true; string RegistroDeErrores = string.Empty; int AnchoFormInformacion = 100; CategoriaArticulo CategoriaArticulo = null; txtNombreArticulo.Text = txtNombreArticulo.Text.Trim(); txtDescripcion.Text = txtDescripcion.Text.Trim(); txtPrecio.Text = txtPrecio.Text.Trim(); if (txtNombreArticulo.Text.Length < 3) { DatosValidos = false; RegistroDeErrores += "El campo 'Nombre' debe tener como minimo 3 caracteres.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtPrecio.Text != string.Empty) { if (txtPrecio.Text.Substring(0, 1) == "," || txtPrecio.Text.Substring(txtPrecio.Text.Length - 1, 1) == "," || Convert.ToDouble(txtPrecio.Text) < 10) { DatosValidos = false; RegistroDeErrores += "El campo 'Precio' debe ser mayor a $10 (verifique tambien que no tenga la " + "coma del centavo al principio o al final).\r\n\r\n"; AnchoFormInformacion += 50; } } if (txtPrecioDelivery.Text != string.Empty) { if (txtPrecioDelivery.Text.Substring(0, 1) == "," || txtPrecioDelivery.Text.Substring(txtPrecioDelivery.Text.Length - 1, 1) == "," || Convert.ToDouble(txtPrecioDelivery.Text) < 10) { DatosValidos = false; RegistroDeErrores += "El campo 'Precio delivery' debe ser mayor a $10 (verifique tambien que no tenga la " + "coma del centavo al principio o al final).\r\n\r\n"; AnchoFormInformacion += 50; } } if (cmbCategoria.SelectedItem != null) { CategoriaArticulo = (CategoriaArticulo)cmbCategoria.SelectedItem; } else { DatosValidos = false; RegistroDeErrores += "Seleccione una categoria.\r\n\r\n"; AnchoFormInformacion += 50; } if (VerificarArticuloRepetido(txtNombreArticulo.Text, ID_Articulo)) { DatosValidos = false; RegistroDeErrores += "El nombre del articulo ya se encuentra en uso.\r\n\r\n"; AnchoFormInformacion += 50; } if (txtPrecio.Text == string.Empty && txtPrecioDelivery.Text == string.Empty) { DatosValidos = false; RegistroDeErrores += "El articulo debe tener un precio para carta o delivery.\r\n\r\n"; AnchoFormInformacion += 50; } if (DatosValidos) { txtNombreArticulo.Text = txtNombreArticulo.Text.Substring(0, 1).ToUpper() + txtNombreArticulo.Text.Remove(0, 1).ToLower(); if (txtDescripcion.Text != string.Empty) { txtDescripcion.Text = txtDescripcion.Text.Substring(0, 1).ToUpper() + txtDescripcion.Text.Remove(0, 1).ToLower(); } string InformacionDelError = string.Empty; ClsArticulos Articulo = new ClsArticulos(); Articulo ActualizarArticulo = new Articulo(); ActualizarArticulo.ID_Articulo = ID_Articulo; ActualizarArticulo.Nombre = txtNombreArticulo.Text; ActualizarArticulo.Descripcion = txtDescripcion.Text; if (txtPrecio.Text == string.Empty) { ActualizarArticulo.Precio = null; } else { ActualizarArticulo.Precio = Math.Round(Convert.ToDouble(txtPrecio.Text), 2); } if (txtPrecioDelivery.Text == string.Empty) { ActualizarArticulo.PrecioDelivery = null; } else { ActualizarArticulo.PrecioDelivery = Math.Round(Convert.ToDouble(txtPrecioDelivery.Text), 2); } ActualizarArticulo.ID_EstadoArticulo = (int)ClsEstadosArticulos.EEstadosArticulos.Activo; ActualizarArticulo.ID_CategoriaArticulo = CategoriaArticulo.ID_CategoriaArticulo; if (Articulo.Actualizar(ActualizarArticulo, ref InformacionDelError) != 0) { DialogResult = DialogResult.OK; Close(); } else if (InformacionDelError != string.Empty) { MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { using (FrmInformacion FormInformacion = new FrmInformacion(RegistroDeErrores, ClsColores.Blanco, AnchoFormInformacion, 400)) { FormInformacion.ShowDialog(); } } }
private void CrearDetalle(int _ID_Pedido, int _ID_Delivery) { string InformacionDelError = string.Empty; ClsDetalles Detalles = new ClsDetalles(); Detalle CrearDetalle = new Detalle(); ClsArticulos Articulos = new ClsArticulos(); int TotalDeArticulos = ID_Articulos.Count; bool HuboError = false; for (int Contador = 0; Contador < TotalDeArticulos; Contador++) { CrearDetalle.ID_Pedido = _ID_Pedido; CrearDetalle.ID_Articulo = ID_Articulos.First(); CrearDetalle.ID_Chef = ID_Chef; CrearDetalle.Cantidad = CantidadPorArticulo.First(); CrearDetalle.Nota = null; CrearDetalle.Precio = null; if ((int)ClsCategoriasArticulos.EParaCocina.Si == Articulos.LeerPorNumero(ID_Articulos.First(), ref InformacionDelError).CategoriaArticulo.ParaCocina) { CrearDetalle.ID_EstadoDetalle = (int)ClsEstadoDetalle.EEstadoDetalle.NoCocinado; } else { CrearDetalle.ID_EstadoDetalle = (int)ClsEstadoDetalle.EEstadoDetalle.YaCocinado; } CrearDetalle.CantidadAgregada = 0; CrearDetalle.ID_ArticuloEntregado = (int)ClsArticulosEntregados.EArticuloEntregado.NoEntregado; if (Detalles.Crear(CrearDetalle, ref InformacionDelError) != 0) { ID_Articulos.Remove(ID_Articulos.First()); CantidadPorArticulo.Remove(CantidadPorArticulo.First()); } else if (InformacionDelError != string.Empty) { HuboError = true; ClsDeliveries Deliveries = new ClsDeliveries(); Delivery EliminarDelivery = new Delivery(); ClsPedidos Pedidos = new ClsPedidos(); Pedido BorrarPedido = new Pedido(); List <Detalle> EliminarDetalle = Detalles.LeerListado(_ID_Pedido, ClsDetalles.ETipoDeListado.PorIDPedido, ref InformacionDelError); Deliveries.Borrar(_ID_Delivery, ref InformacionDelError); Pedidos.Borrar(_ID_Pedido, ref InformacionDelError); if (EliminarDetalle != null) { foreach (Detalle Elemento in EliminarDetalle) { Detalles.Borrar(Elemento.ID_Detalle, ref InformacionDelError); } } MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } } // No hubo error en la creacion de los detalles, confirmar y cerrar. if (!HuboError) { DialogResult = DialogResult.OK; Close(); } }