public float calcularPrecioEncomienda(Entities.Encomienda enc) { float price = 0f; price += dao.precioAdicional(enc.idLocalidadCentro, enc.id_localidadEntrega, enc.id_cliente); List <DetalleEncomienda> lst = obtenerDetalles(enc.id); foreach (DetalleEncomienda d in lst) { price += (d.precio * d.cantidad) + (d.precio * d.cantidad * float.Parse(d.factorCarga.ToString()) / 100f); } price += dao.precioPrioridad(enc.id_prioridad); return(price); }
private void cargarDgv(Entities.Encomienda enc) { List <DetalleEncomienda> list = service.obtenerDetalles(enc.id); if (list != null) { foreach (DetalleEncomienda oDet in list) { dgvDetalle.Rows.Add(new Object[] { enc.id, oDet.idProducto, oDet.idDetalle, oDet.tipoProducto, oDet.nombreProducto, oDet.cantidad, oDet.precio, oDet.cantidad * oDet.precio, oDet.factorCarga, oDet.descripcion }); } } }
private void BtnRegistrarEncomienda_Click(object sender, EventArgs e) { if (lblTotal.Text != "") { int callenro = 0; if (txtCalle.Text != "" && txtNumero.Text != "") { if (Int32.TryParse(txtNumero.Text, out callenro)) { DialogResult res = MessageBox.Show("Esta seguro que desea regsitrar esta encomienda? ", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (res == DialogResult.Yes) { Entities.Encomienda oEnc = new Entities.Encomienda(); oEnc.id_cliente = Int32.Parse(cliente_seleccionado.idCliente.ToString()); oEnc.fechaEnvio = dateFechaRegistro.Value; oEnc.id_prioridad = Int32.Parse(cboPrioridad.SelectedValue.ToString()); oEnc.id_localidadEntrega = Int32.Parse(cboLocalidadDestino.SelectedValue.ToString()); oEnc.idLocalidadCentro = Int32.Parse(cboLocalidadOrigen.SelectedValue.ToString()); oEnc.calle = txtCalle.Text; oEnc.nroCalle = callenro.ToString(); oEnc.historial = new List <Entities.HistorialEncomienda>(); Entities.HistorialEncomienda c = new Entities.HistorialEncomienda(); c.fecha = dateFechaRegistro.Value; c.id_Estado = 1; c.idEmpleado = PrincipalFrm.id; oEnc.historial.Add(c); oEnc.id_empleado = c.idEmpleado; oEnc.idCentroEnvio = Int32.Parse(cboCentros.SelectedValue.ToString()); oEnc.id_estado_actual = 1; oEnc.detalle = new List <Entities.DetalleEncomienda>(); foreach (DataGridViewRow row in dgvDetalle.Rows) { Entities.DetalleEncomienda dt = new Entities.DetalleEncomienda(); dt.idDetalle = Int32.Parse(row.Cells[9].Value.ToString()); dt.idProducto = Int32.Parse(row.Cells[1].Value.ToString()); dt.cantidad = Int32.Parse(row.Cells[4].Value.ToString()); dt.descripcion = row.Cells[8].Value.ToString(); dt.factorCarga = Int32.Parse(row.Cells[6].Value.ToString().Replace("%", "")); oEnc.detalle.Add(dt); } int idnuevo = 0; try { idnuevo = service.registrarEncomienda(oEnc); } catch (Exception ex) { MessageBox.Show(ex.Message); } if (idnuevo != -1) { MessageBox.Show("La encomienda se registró exitosamente \n N° " + idnuevo); this.Close(); } else { MessageBox.Show("Hubo un error durante el registro de la encomienda."); } } } else { MessageBox.Show("El número de la calle de entrega no tiene el formato correcto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { MessageBox.Show("No se especificó la dirección: ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Primero calcule el total...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public DetalleFrm(int id) { InitializeComponent(); service = new EncomiendaService(); enc = service.buscarEncomienda(id); }
public int registrarEncomienda(Entities.Encomienda oEnc) { return(dao.registrarEncomienda(oEnc)); }