Beispiel #1
0
        public List <Tipo_CasoBE> ConsultarTipoCasos()
        {
            List <Tipo_CasoBE> lstTipoCasos = new List <Tipo_CasoBE>();

            try
            {
                string    nameSP = "ConsultarTipoCasos";
                BaseDatos db     = new BaseDatos();
                db.Conectar();
                db.CrearComandoSP(nameSP);
                DbParameter[] parametros = new DbParameter[2];

                parametros[0] = db.Comando.CreateParameter();
                parametros[0].ParameterName = "vrCodResult";
                parametros[0].Value         = 0;
                parametros[0].Direction     = ParameterDirection.Output;
                db.Comando.Parameters.Add(parametros[0]);

                parametros[1] = db.Comando.CreateParameter();
                parametros[1].ParameterName = "vrDescResult";
                parametros[1].Value         = "";
                parametros[1].Direction     = ParameterDirection.Output;
                parametros[1].Size          = 200;
                parametros[1].DbType        = DbType.String;
                db.Comando.Parameters.Add(parametros[1]);

                DbDataReader datos = db.EjecutarConsulta();
                Tipo_CasoBE  tc    = null;
                while (datos.Read())
                {
                    try
                    {
                        tc = new Tipo_CasoBE();
                        tc.Id_Tipo_Caso          = datos.GetValue(0).ToString();
                        tc.Nombre_Caso           = datos.GetString(1);
                        tc.Descripcion_Tipo_Caso = datos.GetString(2);
                        lstTipoCasos.Add(tc);
                    }
                    catch (InvalidCastException ex)
                    {
                        throw new Exception("Los tipos no coinciden.", ex);
                    }
                    catch (DataException ex)
                    {
                        throw new Exception("Error de ADO.NET.", ex);
                    }
                }
                datos.Close();
                db.Desconectar();
            }
            catch (Exception ex)
            {
                throw new Exception("Error al acceder a la base de datos para obtener los TipoCasosBEs.");
            }
            return(lstTipoCasos);
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            VentaServiceClient    serVenta = new VentaServiceClient();
            CilindroServiceClient servCil  = new CilindroServiceClient();
            CasosBE casos = new CasosBE();

            long resp;

            try
            {
                casos.Id_Cliente = lblIdCliente.Text;
                Tipo_CasoBE tipCaso = new Tipo_CasoBE();
                tipCaso.Id_Tipo_Caso = lstCaso.SelectedValue;
                tipCaso.Nombre_Caso  = lstCaso.SelectedItem.Text;
                casos.Tipo_Caso      = tipCaso;
                casos.Observaciones  = txtObserva.Text;
                Detalle_VentaBE detVenta = new Detalle_VentaBE();
                detVenta.Id_Detalle_Venta = lblIdDetalleV.Text;
                detVenta.Id_Vehiculo      = lblIdVehiculo.Text;
                detVenta.Id_Ubicacion     = lblIdUbica.Text;

                if (lstCaso.SelectedItem.Text == Tipo_Casos.ESCAPE.ToString())
                {
                    detVenta.Id_Cilindro_Salida  = lstCilEntrega.SelectedValue;
                    detVenta.Id_Cilindro_Entrada = lblMsn.Text;
                    casos.Detalle_Venta          = detVenta;
                    resp = serVenta.CasosEspeciales(casos);
                    MessageBox.Show("El caso especial fue registrado satisfactoriamente", "Casos Especiales");
                }

                if (lstCaso.SelectedItem.Text == Tipo_Casos.CODIGO + " " + Tipo_Casos.ERRADO)
                {
                    if (txtCodigoVerific.Text == "")
                    {
                        MessageBox.Show("El código del cilindro es obligatorio", "Casos Especiales");
                    }
                    else
                    {
                        detVenta.Id_Cilindro_Salida  = txtCodigoVerific.Text;
                        detVenta.Id_Cilindro_Entrada = lblMsn.Text;
                        casos.Detalle_Venta          = detVenta;
                        resp = serVenta.CasosEspeciales(casos);
                        MessageBox.Show("El caso especial fue registrado con satisfacción", "Casos Especiales");
                    }
                }

                else
                {
                    CilindroBE cilindro = new CilindroBE();
                    cilindro.Codigo_Cilindro = lblMsn.Text;
                    Tipo_UbicacionBE tipoUbi = new Tipo_UbicacionBE();
                    tipoUbi.Nombre_Ubicacion = Ubicacion.VEHICULO.ToString();
                    cilindro.Tipo_Ubicacion  = tipoUbi;

                    if (tipoUbi.Nombre_Ubicacion == Ubicacion.VEHICULO.ToString())
                    {
                        VehiculoBE veh = new VehiculoBE();
                        veh.Id_Vehiculo   = lblIdVehiculo.Text;
                        cilindro.Vehiculo = veh;
                    }

                    resp = servCil.ModificarUbicaCilindro(cilindro);
                }
                //falta adicionar al cargue del vehiculo el cilindro que devuelve en terminacion del contrato
            }
            catch (Exception ex)
            {
                Response.Redirect("~/About.aspx");
            }
            finally
            {
                serVenta.Close();
                Response.Redirect("~/Ventas/frmCasosEspeciales.aspx");
            }
        }