示例#1
0
        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);
        }
示例#2
0
        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
                    });
                }
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
 public DetalleFrm(int id)
 {
     InitializeComponent();
     service = new EncomiendaService();
     enc     = service.buscarEncomienda(id);
 }
示例#5
0
 public int registrarEncomienda(Entities.Encomienda oEnc)
 {
     return(dao.registrarEncomienda(oEnc));
 }