private void ClickGuardar(object sender, EventArgs e) { try { if (DatosValidos(1)) { var envio = new Envio(); string idUbicacionOrigen = ((ComboBox)controles.Find(x => x.Name == "comboUbicacionOrigen")).SelectedValue.ToString(); string idUbicacionDestino = ((ComboBox)controles.Find(x => x.Name == "comboUbicacionDestino")).SelectedValue.ToString(); envio.UbicacionOrigen = ubicacionBLL.Obtener(int.Parse(idUbicacionOrigen)); envio.UbicacionDestino = ubicacionBLL.Obtener(int.Parse(idUbicacionDestino)); envio.Usuario = SeguridadBLL.usuarioLogueado; envio.FechaCreacion = DateTime.Now; envio.Detalle = this.envioDetalle; if (envioBLL.ValidarCapacidadDestino(envio.UbicacionDestino, envio.PesoTotal)) { envioBLL.Alta(envio); envioBLL.Enviar(envio, null); envioBLL.Recibir(envio); stockBLL.Enviar(new List <Envio>() { envio }); stockBLL.Recibir(envio); MessageBox.Show($"El Envio fue creado exitosamente con el número {envio.Id}. Puede consultarlo en Reportes > Envios a Lavadero", "", MessageBoxButtons.OK, MessageBoxIcon.Information); frm.Hide(); } else { MessageBox.Show("La Recepción no se puede crear ya que se está superando la capacidad disponible " + "en la ubicación destino.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void ClickGuardar(object sender, EventArgs e) { try { if (DatosValidos(1)) { if (articuloBLL.ValidarBultosCompuestos(this.envioDetalle.ToList <Detalle>())) { var envio = new Envio(); string idUbicacionOrigen = ((ComboBox)controles.Find(x => x.Name == "comboUbicacionOrigen")).SelectedValue.ToString(); string idUbicacionDestino = ((ComboBox)controles.Find(x => x.Name == "comboUbicacionDestino")).SelectedValue.ToString(); envio.UbicacionOrigen = ubicacionBLL.Obtener(int.Parse(idUbicacionOrigen)); envio.UbicacionDestino = ubicacionBLL.Obtener(int.Parse(idUbicacionDestino)); envio.Usuario = SeguridadBLL.usuarioLogueado; envio.FechaCreacion = DateTime.Now; envio.Detalle = this.envioDetalle; envioBLL.Alta(envio); MessageBox.Show($"El Envio fue creado exitosamente con el número {envio.Id}. Puede consultarlo en Reportes > Envios a Clinica", "", MessageBoxButtons.OK, MessageBoxIcon.Information); var descuentoCliente = parametroDelSistemaBLL.Obtener(Entidades.Enums.ParametroDelSistema.PorcentajeDescuentoDeEnvios).Valor; var recargoFinde = parametroDelSistemaBLL.Obtener(Entidades.Enums.ParametroDelSistema.PorcentajeRecargoFinDeSemana).Valor; var capacidadMaxima = parametroDelSistemaBLL.Obtener(Entidades.Enums.ParametroDelSistema.CapacidadMaximaHojaDeRuta).Valor; MessageBox.Show($"La facturación para este envío es de ${envioBLL.ObtenerFacturacionTotal(envio)}. " + $"{ (envio.UbicacionDestino.ClienteExterno ? string.Empty : Environment.NewLine + $"Se aplicó un descuento de {descuentoCliente}% porque el destino es un cliente interno.") }" + $"{ (envio.FechaCreacion.DayOfWeek == DayOfWeek.Saturday || envio.FechaCreacion.DayOfWeek == DayOfWeek.Sunday ? Environment.NewLine + $"Se aplicó un recargo de {recargoFinde}% por crear el envío un fin de semana." : string.Empty) }" + $"{ (envio.PesoTotal > decimal.Parse(capacidadMaxima) ? Environment.NewLine + "Importante: El envío supera la capacidad máxima aceptada para enviar en una hoja de ruta, por lo que será dividido en más envíos al momento de enviarlo. La facturación total será la suma de los nuevos envíos al momento de hacer la hoja de ruta" : string.Empty)}", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); frm.Hide(); } else { MessageBox.Show("Se leyó una prenda con categoría compuesta, pero no se leyó el bulto compuesto completo. " + Environment.NewLine + "Recuerde leer la misma cantidad de bultos de cada prenda." + Environment.NewLine + "Puede revisar su configuración en Administración de Bultos Compuestos", "Bulto compuesto", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
private void ClickGuardar(object sender, EventArgs e) { try { if (DatosValidos(1)) { var envio = new Envio(); string idUbicacionOrigen = ((ComboBox)controles.Find(x => x.Name == "comboUbicacionOrigen")).SelectedValue.ToString(); string idUbicacionDestino = ((ComboBox)controles.Find(x => x.Name == "comboUbicacionDestino")).SelectedValue.ToString(); envio.UbicacionOrigen = ubicacionBLL.Obtener(int.Parse(idUbicacionOrigen)); envio.UbicacionDestino = ubicacionBLL.Obtener(int.Parse(idUbicacionDestino)); envio.Usuario = SeguridadBLL.usuarioLogueado; envio.FechaCreacion = DateTime.Now; envio.Detalle = this.envioDetalle; envioBLL.Alta(envio); MessageBox.Show($"El Envio fue creado exitosamente con el número {envio.Id}. Puede consultarlo en Reportes > Envios a Lavadero", "", MessageBoxButtons.OK, MessageBoxIcon.Information); var descuento = parametroDelSistemaBLL.Obtener(Entidades.Enums.ParametroDelSistema.PorcentajeDescuentoDeEnvios).Valor; var capacidadMaxima = parametroDelSistemaBLL.Obtener(Entidades.Enums.ParametroDelSistema.CapacidadMaximaHojaDeRuta).Valor; if (envio.PesoTotal > decimal.Parse(capacidadMaxima)) { MessageBox.Show( "Importante: El envío supera la capacidad máxima aceptada para enviar en una hoja de ruta, por lo que será dividido en más envíos al momento de enviarlo. La facturación total será la suma de los nuevos envíos al momento de hacer la hoja de ruta", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); } frm.Hide(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }